cmd, batch cd 变量 space excaping

cmd, batch cd variable space excaping

所以我正在制作一个批处理文件来创建一个包含 HTML 内容的文件夹。批处理文件基本上执行一个 python 文件,并且由于我要使批处理文件成为全局文件,因此 python 文件运行时带有一个参数,该参数是我要在其上创建文件夹的目录。

python 文件工作正常,因为我已经测试了很多次!

它是这样工作的:

C:/Users/Tiago^ Oliveira/programming/python/random/HTML_Folder/HTML_Folder.py here_the_directory_we_want

我的批处理文件是这样的:

C:/Users/Tiago^ Oliveira/programming/python/random/HTML_Folder/HTML_Folder.py %cd%

每当我在 C: 驱动器中执行批处理文件时,都会出现此错误:

FileNotFoundError: [WinError 3] O sistema não conseguiu localizar o caminho especificado: 'C:\Users\Tiago\html\'

这基本上意味着参数是 C:\Users\Tiago 但实际上当我执行 ECHO %cd% 时它会打印:C:\Users\Tiago Oliveira\programming\python\random\HTML_Folder,所以这意味着我的用户名有问题,(顺便说一句,我不能改变).

我试图用“^”替换名称之间的 space 以转义 space 和许多不同的选项,但我无法弄清楚这个问题。

所以我想为那些知道我能做些什么来完成这项工作的人提供一点帮助。

cmd.exe 的路径分隔符是 REVERSE SOLIDUS(反斜杠)。

不需要 CARET。

路径需要使用引号字符。

"C:\Users\Tiago Oliveira\programming\python\random\HTML_Folder\HTML_Folder.py" "%cd%"

如果这应该总是在当前用户的帐户目录下,最好使用:

"%USERPROFILE%\programming\python\random\HTML_Folder\HTML_Folder.py" "%cd%"