我试图使用WinExe在Windows机器上执行命令行。到目前为止,我能够执行一个文件(sha256sum.exe)并向其传递参数,如“-help”,但我不能传递任何文件名,其中包含空格。
下面是我的命令行的样子-

./winexe --ostype=2  -U username --password passworsGoesHere //hostIP "cmd /c  \"\"%programfiles%\\MyApp\\tools\\sha256sum.exe\"\" \"c:\1 1.txt\" "

文件名是1 1.txt下的C:\,命令的输出是-
The filename, directory name, or volume label syntax is incorrect.

如果我执行这个-
./winexe --ostype=2  -U username --password passworsGoesHere //hostIP "cmd /c  \"\"%programfiles%\\MyApp\\tools\\sha256sum.exe\"\" --help "

它起作用了。

最佳答案

尝试将引号加倍,就像对sha256sum命令所做的那样。

./winexe --ostype=2  -U username --password passworsGoesHere //hostIP "cmd /c  \"\"%programfiles%\\MyApp\\tools\\sha256sum.exe\"\" \"\"c:\1 1.txt\"\" "

关于linux - 在bash shell中转义空间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9633494/

10-11 01:43