2011-06-16 110 views

回答

157

单引号不会在这种情况下。您必须添加周围的每个路径引号,也用引号括整个命令:

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

是的,每条路径都应该用引号括起来。另外,整个命令必须用另一对引号括起来。现在它工作了!谢谢! – Arise 2013-05-30 06:36:21

+0

@sakra也不适合我。 “C:\ Program Files \ WinRAR \ WinRAR.exe”a“C:\ veri tabani yedekler \ Dedicated_Pokemon_Pets_DB_Backup_2014_7_10_7_2.rar”-ri1 -mt2 -m5“C:\ veri tabani yedekler \ Dedicated_Pokemon_Pets_DB_Backup_2014_7_10_7_2.bak”“ – MonsterMMORPG 2014-07-11 02:13:18

+3

@MonsterMMORPG前缀'cmd/C'的行' – sakra 2014-07-11 11:41:02

7

用双引号括起空格的路径。

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

它不起作用:) – faressoft 2011-06-16 17:38:52

+0

然后问题在于'Rar.exe'的参数语法实际上是什么。你可能会错误地使用它。也许试试D:\ Hello 2 \“'或'”D:\ Hello 2“'而不是'”D:\ Hello 2 \ *。*“'? – JAB 2011-06-16 18:09:04

+1

它不工作:) – faressoft 2011-06-16 18:28:29

2

您应该尝试使用引号。

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

这不可靠。在某些情况下(请参阅http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/cmd.mspx?mfr=true - 处理引号)文件“C:\ Program .bat“被执行。 – 2014-09-08 06:51:33

41

我只是要指出的是,其中的路径涉及使用空格字符,的情况下,例如,当我需要访问应用程序xyz哪个位置是:

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

从命令提示符窗口中运行这个,你需要使用

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

OR 

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

如果双引号ð o没有解决问题,然后尝试

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) 
07/11/2014 03:10 PM <DIR>      servers 

现在我们在第5列中输入短8字符的文件或文件夹名称,例如: PROGRA_1或DEFAUL_1.XML,在你的命令中。例如:

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

这是简单的方法。没有涉及到双重报价的泥沼。 – 2015-02-25 20:34:08

1
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" 

这为我工作在一个批处理文件

7

尝试在双引号提供复杂的路径名(和在结尾的文件的扩展名。)

对于文件:

call "C:\example file.exe" 

对于目录:

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

它也适用于所有类似的地址问题。 还有一件好事,cmd不区分大小写,如bash。所以“新fiLE.txt”和“新文件.TXT”是相似的。

5

我喜欢在()围住命令有效期batch这使得它有点更容易阅读:

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

它可以通过CD命令解决这个问题,这个命令理解空间没有双引号你可以调用任何程序这种方式,例如:

C:\ Windows \ System32下> CD C:\ Program Files文件\ MongoDB的\服务器\ 3.2 \ BIN

C:\ PROGRAM文件\ MongoDB的\服务器\ 3。2 \ bin> mongo 现在命令提示符调用mongo.exe