Sublimetext3 获取从WSL调用的AHK中的完整文件位置

Sublimetext3 获取从WSL调用的AHK中的完整文件位置,sublimetext3,autohotkey,windows-subsystem-for-linux,Sublimetext3,Autohotkey,Windows Subsystem For Linux,我使用了alias subl='“/mnt/c/Program Files/Sublime Text 3/subl.exe”和subl test.txt以Sublime Text打开文件。这将在windows上打开带有完整文件路径的升华文本 当我尝试alias subl='“/mnt/c/Users/satter/Google Drive/Files/PC/Desktop/testasda.exe”并使用 f=%1% MsgBox, %f% 然后调用subl test.txt将只显示test.

我使用了
alias subl='“/mnt/c/Program Files/Sublime Text 3/subl.exe”
subl test.txt
以Sublime Text打开文件。这将在windows上打开带有完整文件路径的升华文本

当我尝试
alias subl='“/mnt/c/Users/satter/Google Drive/Files/PC/Desktop/testasda.exe”
并使用

f=%1%
MsgBox, %f%

然后调用
subl test.txt
将只显示test.txt。如何像sublime text那样获得文件的完整路径?

尝试在/usr/bin中创建一个名为testasda的文件,而不是使用别名(我假设/usr/bin位于wsl中的路径上)。然后在文件中放入:

/mnt/c/Users/altar/Google\ Drive/Files/PC/Desktop/testasda.exe $(wslpath -w "$(pwd)/$1") &
这将使用应用程序testasda.exe打开当前路径(pwd)中的第二个参数($1)


需要将wsl路径转换为dos路径。这应该包含在wsl安装()中,而不是别名中。请尝试在/usr/bin中创建一个名为testasda的文件(我假设/usr/bin位于wsl中的路径上)。然后在文件中放入:

/mnt/c/Users/altar/Google\ Drive/Files/PC/Desktop/testasda.exe $(wslpath -w "$(pwd)/$1") &
这将使用应用程序testasda.exe打开当前路径(pwd)中的第二个参数($1)


需要将wsl路径转换为dos路径。这应该包含在wsl安装()中。

您的问题还不清楚,但是Sublime可能通过知道
text.txt
位于当前目录中来推断文件的完整路径(或者,如果您愿意,它将获得与脚本相同的
test.txt
,但它正在添加当前目录,而您没有。您可能希望在脚本中包含对
pwd
的调用,以捕获当前目录(尽管如果文件名具有类似
。/test.txt
的相对路径,则会有更多关于如何工作的内容)。您的问题不清楚,但Sublime可能是通过知道
text.txt
位于当前目录中来推断文件的完整路径(或者,如果您愿意,它将获得与脚本相同的
test.txt
,但它正在添加当前目录,而您没有。您可能希望在脚本中包含对
pwd
的调用,以捕获当前目录(尽管如果文件名具有类似
。/test.txt
的相对路径,则会有更多关于如何工作的内容)。