far*_*oft 167 windows cmd escaping
如何在Windows命令行中使用空格?
cmd /C C:\Program Files (x86)\WinRar\Rar.exe a D:\Hello 2\File.rar D:\Hello 2\*.*
Run Code Online (Sandbox Code Playgroud)
sak*_*kra 235
在这种情况下,单引号不会.您必须在每个路径周围添加引号,并将整个命令括在引号中:
cmd /C ""C:\Program Files (x86)\WinRar\Rar.exe" a "D:\Hello 2\File.rar" "D:\Hello 2\*.*""
Run Code Online (Sandbox Code Playgroud)
小智 68
我只是想到了一个路径涉及使用空格字符的情况,例如,当我需要访问应用程序的xyz位置是:
C:\Program Files\ab cd\xyz.exe
Run Code Online (Sandbox Code Playgroud)
要从Windows cmd提示符运行此命令,您需要使用
C:\"Program Files"\"ab cd"\xyz.exe
Run Code Online (Sandbox Code Playgroud)
要么
"C:\Program Files\ab cd\xyz.exe"
Run Code Online (Sandbox Code Playgroud)
rob*_*rse 20
如果双引号无法解决问题,请尝试例如
dir /X ~1 c:\
Run Code Online (Sandbox Code Playgroud)
获取备用文件或目录名称列表.示例输出:
11/09/2014 12:54 AM 8,065 DEFAUL~1.XML Default Desktop Policy.xml
06/12/2014 03:49 PM <DIR> PROGRA~1 Program Files
10/12/2014 12:46 AM <DIR> PROGRA~2 Program Files (x86)
Run Code Online (Sandbox Code Playgroud)
现在在命令中使用第5列中的短8字符文件或文件夹名称,例如PROGRA~1或DEFAUL~1.XML.例如:
set JAVA_HOME=c:\PROGRA~1\Java\jdk1.6.0_45
Run Code Online (Sandbox Code Playgroud)
用双引号括起包含空格的路径.
cmd /C "C:\Program Files (x86)\WinRar\Rar.exe" a "D:\Hello 2\File.rar" "D:\Hello 2\*.*"
Run Code Online (Sandbox Code Playgroud)
尝试在双引号中提供复杂的路径名(并在文件末尾包含文件扩展名.)
对于文件:
call "C:\example file.exe"
Run Code Online (Sandbox Code Playgroud)
对于目录:
cd "C:\Users\User Name\New Folder"
Run Code Online (Sandbox Code Playgroud)
它也适用于所有类似的地址问题.还有一件好事,cmd不像bash那样区分大小写.所以"New fiLE.txt"和"new file.TXT"与它相似.
小智 7
我更喜欢附上()有效的命令,batch这使得它更容易阅读:
cmd /C ("C:\Program Files (x86)\WinRar\Rar.exe" a "D:\Hello 2\File.rar" "D:\Hello 2\*.*")
Run Code Online (Sandbox Code Playgroud)
小智 5
set "CMD=C:\Program Files (x86)\PDFtk\bin\pdftk"
echo cmd /K ""%CMD%" %D% output trimmed.pdf"
start cmd /K ""%CMD%" %D% output trimmed.pdf"
Run Code Online (Sandbox Code Playgroud)
这在批处理文件中对我有用