windows - 无法在 Windows 命令外壳中转义空格

标签 windows command-line escaping command command-line-arguments

如果我执行

cmd/c "%programfiles%\mycode\md5sums.exe"%temp%

它工作得很好。但是当我执行

cmd/c "%programfiles%\mycode\md5sums.exe"%programfiles%

我遇到以下错误-

错误:无法读取文件/目录 C:\Program

这意味着 md5sums.exe 正在尝试打开 C:\Program 而不是 %programfiles% 给出的完整路径

我必须使用 cmd/c 因为我必须远程运行此命令。

如何让它发挥作用? 我试过使用 `"%programfiles%"但在这种情况下甚至 md5sums.exe 都没有被执行。

最终我想使用 md5sums.exe 提供的开关“/b”,但此时我什至无法让 md5sums 在 %programfiles% 上运行

最佳答案

尝试:

cmd /c "%programfiles%\mycode\md5sums.exe" "%programfiles%"
                                           ^--------------^--quotes added

否则,你会得到类似这样的结果:

cmd /c "C:\Program Files\mycode\md5sums.exe" C:\Program Files

并最终将两个参数传递给 md5sums,而不是单个路径。

关于windows - 无法在 Windows 命令外壳中转义空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8260979/

相关文章:

c++ - 从 .h 文件生成 .cpp 源

string - 一个 ‘contract’ 字符串如何转义 Bash 中的特殊字符?

javascript - 使用 javascript 将 URI 中的反斜杠更改为正斜杠

java - 如何在 Java 中接收 Windows 文件系统事件?

python - IOError : [Errno 13] Permission denied, 打开文件时

c++ - 在旧式 main() 的参数中分解 WinMain 的 cmdLine

c# - 如何在超时发生后处理 NotifyIcon (C#)

c++ - 为什么人们使用命令行而不是 IDE?

java - 将 Java 应用程序作为服务运行

javascript - JSON 解析在解析字符串时偶尔会出错