如何在Windows命令行中使用空格?
cmd /C C:\Program Files (x86)\WinRar\Rar.exe a D:\Hello 2\File.rar D:\Hello 2\*.*
包含空格的路径用双引号括起来。
cmd /C "C:\Program Files (x86)\WinRar\Rar.exe" a "D:\Hello 2\File.rar" "D:\Hello 2\*.*"
你应该试着用引号。
单引号在这种情况下是不行的。你必须在每个路径周围加上引号,并将整个命令用引号括起来:
cmd /C ""C:\Program Files (x86)\WinRar\Rar.exe" a "D:\Hello 2\File.rar" "D:\Hello 2\*.*""
我刚刚算出,对于路径涉及使用空白字符的情况,例如,当我需要访问应用程序xyz时,该位置是:
xyz
C:\Program Files\ab cd\xyz.exe
要从windows cmd提示符中运行此命令,您需要使用
C:\"Program Files"\"ab cd"\xyz.exe
或
"C:\Program Files\ab cd\xyz.exe"
如果双引号不能解决问题,那么试试例如。
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
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"
这在批处理文件中为我工作
尝试用双引号提供复杂的路径名(并在文件末尾包含文件扩展名)。
的文件:
call "C:\example file.exe"
目录:
cd "C:\Users\User Name\New Folder"
CMD将带有双引号(“xyz”)的文本解释为一个字符串,并将带有单引号(“xyz”)的文本解释为命令。 例如:< / p >
FOR %%A in ('dir /b /s *.txt') do ('command') FOR %%A in ('dir /b /s *.txt') do (echo "%%A")
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)。
我更喜欢将命令括在()中,这是有效的batch,这使得它更容易阅读:
()
batch
cmd /C ("C:\Program Files (x86)\WinRar\Rar.exe" a "D:\Hello 2\File.rar" "D:\Hello 2\*.*")
它可以通过cd命令来解决这个问题,这个命令理解没有双引号的空格,你可以这样调用任何程序,例如:
C:\Windows\system32>cd c:\Program Files\MongoDB\Server\3.2\bin
只需添加引号
例如:“C: \ \用户名用户”
希望这个问题得到解决!
推荐提示符中的空格(在VBA Shell命令代码行中)
我有一个非常类似的问题,当通过VBA自动化从命令窗口获取内容到文本文件时,在命令提示符中出现了一个空格。这条线索是我在这条路上发现的许多没有给我解决方案的线索之一。
例如,我有一个文件夹,里面有一个文本文件,比如at
C:\Alans文件夹\test1.txt (https://imgur.com/FELSdB6)
文件夹名称中的空格给出了问题。
假设文件夹AlansFolder存在,类似这样的东西就可以工作
Sub ShellBlackCommandPromptWindowAutomatingCopyingWindowContent() Shell "cmd.exe /c ""ipconfig /all > C:\AlansFolder\test1.txt""" End Sub
这行不通。(它不会出错)。
Sub ShellBlackCommandPromptWindowAutomatingCopyingWindowContent() Shell "cmd.exe /c ""ipconfig /all > C:\Alans Folder\test1.txt""" End Sub
在路径周围包含引号将使其工作
Sub ShellBlackCommandPromptWindowAutomatingCopyingWindowContent() Shell "cmd.exe /c ""ipconfig /all > ""C:\Alans Folder\test1.txt""""" End Sub
(顺便说一下,如果文本文件不存在,那么它将被创建)。
事后来看,我们可以看到我的解决方案确实与一些已经给出的问题大致相关。
将代码行转换为手动给定的命令
ipconfig /all > "C:\Alans Folder\test1.txt"
这似乎有用
这也是可行的
ipconfig /all > C:\AlansFolder\test1.txt
这并不
ipconfig /all > C:\Alans Folder\test1.txt
这个最后的形式也可以工作,并与sacra ....的解决方案相关联" __abc0 " .....
cmd.exe /c "ipconfig /all > "C:\Alans Folder\test1.txt""