1

我试图运行以下代码来浏览一个目录并修改一堆 AutoCAD 图纸。

FOR %%f in (C:\Users\pzf6bm\Desktop\AutoCad\*.dwg) do start /wait C:\"Program Files"\"Autodesk"\"AutoCAD 2012 - English"\acad.exe “%%f” /b C:\Users\pzf6bm\Desktop\AutoCad\hide.scr 

它几乎可以工作,除了一件事,每次它检索下一个文件路径时,它都会在字符串的开头添加一个 ô 字符,在字符串的末尾添加一个 ö。这使得 AutoCAD 无法打开文件来执行操作。

例如,“C:\test.txt”变成了“ôC:\test.txtö”,我不知道为什么会这样。

4

3 回答 3

2
于 2013-11-01T19:40:22.773 回答
1

您的周围有智能引号%%f(也许您是从 Outlook 或 Word 获得的?)。将它们重新输入为常规引号,您的 ô 和 ö 将消失。

于 2013-11-01T19:40:46.267 回答
0

编辑:通常该start命令需要一个blank set of quotes after it, 因为第一组引号用作窗口标题。在您的情况下, c:\ 是未引用的部分这一事实保护了引用的部分。感谢@dbenham 指出这一点。

你的命令(在 之后start "")有一个尴尬的组合引号,它们通常应该放在开头和结尾,"c:\path\filename.exe"所以请参阅下面的我的答案,还有一组前导的空白引号。

使用现代工具,甚至可以引用短路径和文件名,因此很容易记住 - 只需引用所有术语。

FOR %%f in (C:\Users\pzf6bm\Desktop\AutoCad\*.dwg) do start "" /wait "C:\Program Files\Autodesk\AutoCAD 2012 - English\acad.exe" "%%f" /b "C:\Users\pzf6bm\Desktop\AutoCad\hide.scr"
于 2013-11-01T23:36:05.083 回答