7

在以下 Windows Server 2k3 批处理命令中,我遗漏了一些关于转义字符串或空格的内容(很明显?)。

FORFILES -m *.wsp -c "CMD /C C:\Program^ Files\Common^ Files\Microsoft^ Shared\web^ server^ extensions\12\bin\stsadm.exe^ -o^ addsolution^ -filename^ @FILE"

导致以下错误

'C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\bin\stsadm.exe -o addsolution -filename "foobar.wsp"' is not recognized as an internal or external command,operable program or batch file.

但我不知道为什么。我正在研究Simon Sheppard 先生的精美文档

4

2 回答 2

10

路径需要被引用,并且引用必须被转义。

FORFILES -m *.wsp -c "CMD /C ^0x22C:\Program^ Files\Common^ Files\Microsoft^ Shared\web^ server^ extensions\12\bin\stsadm.exe^0x22 -o^ addsolution^ -filename^ @FILE"

一位同事建议将十六进制用于“,我最终发现该十六进制需要转义。

于 2009-02-03T21:17:08.363 回答
2

另一个可能的答案是使用通过 dir /X 获得的旧 8.3 名称。

像:C:\PROGRA~1 而不是 C:\Program Files。

于 2009-03-07T01:35:02.200 回答