【发布时间】:2015-08-21 07:36:51
【问题描述】:
我遇到需要从 Windows CMD 文件调用 UNIX Shell 的情况。调用如下:
sh -c 路径/script.sh
我遇到的挑战是路径作为参数传递给 windows cmd 并包含反斜杠 () 来分隔路径。所以像这样执行命令:
sh -c e:\scriptpath\test.sh 失败,因为 sh 正确报告:e:scriptpathtest.sh 不存在。
用 \ 转义 \ 有效:例如sh -c e:\\scriptpath\\test.sh 将起作用。
问题是:如何在 windows cmd 文件中输入的路径参数中包含 \?例如如果路径输入为 e:\scriptpath,它将自动转换为 e:\\scriptpath?
【问题讨论】:
-
请提供一个路径如何作为参数传递给windows cmd的示例。注册表项?拖放到打开的
cmd窗口中?start "" cmd /C command path?另一个? -
我在 windows 中提示输入路径并将输入的值传递给 sh。例如set /p path=Enter script path: 并调用如下: sh -c %path%
标签: windows shell cmd escaping