我试图运行以下代码来浏览目录并修改一堆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ö”我不知道为什么会发生这种情况。
答案 0 :(得分:2)
只使用正确的双引号,而不是“%%f”
!
"%%f"
答案 1 :(得分:1)
你的%%f
周围有智能引号(也许你是从Outlook或Word得到的?)。将它们重新命名为常规报价,你的ô和ö将会消失。
答案 2 :(得分: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"