如何在Windows命令行中使用空格?

cmd /C C:\Program Files (x86)\WinRar\Rar.exe a D:\Hello 2\File.rar D:\Hello 2\*.*

当前回答

如果双引号不能解决问题,那么试试例如。

dir /X ~1 c:\

获取可选文件或目录名的列表。示例输出:

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)

现在在命令中使用第5列的8个字符的短文件或文件夹名称,例如PROGRA~1或defaulaul ~1. xml。例如:

set JAVA_HOME=c:\PROGRA~1\Java\jdk1.6.0_45 

其他回答

单引号在这种情况下是不行的。你必须在每个路径周围加上引号,并将整个命令用引号括起来:

cmd /C ""C:\Program Files (x86)\WinRar\Rar.exe" a "D:\Hello 2\File.rar" "D:\Hello 2\*.*""

尝试用双引号提供复杂的路径名(并在文件末尾包含文件扩展名)。

的文件:

call "C:\example file.exe"

目录:

cd "C:\Users\User Name\New Folder"

CMD将带有双引号(“xyz”)的文本解释为一个字符串,将带有单引号(“xyz”)的文本解释为一个命令。 例如:

FOR %%A in ('dir /b /s *.txt') do ('command') FOR %%A in ('dir /b /s *.txt') do (echo "%%A")

还有一个好处,cmd不像bash那样区分大小写。所以New fiLE.txt和New fiLE.txt是相似的。

*注:上述大小写中的%%A变量是区分大小写的(%%A不等于%%A)。

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"

这在批处理文件中为我工作

我更喜欢在()中附上命令,这是有效的批处理,这使得它更容易阅读:

cmd /C ("C:\Program Files (x86)\WinRar\Rar.exe" a "D:\Hello 2\File.rar" "D:\Hello 2\*.*")

我刚刚发现,在路径涉及使用空白字符的情况下,例如,当我需要访问应用程序xyz的位置是:

C:\Program Files\ab cd\xyz.exe

要从windows cmd提示符中运行此命令,您需要使用

C:\"Program Files"\"ab cd"\xyz.exe

or

"C:\Program Files\ab cd\xyz.exe"