0

我正在尝试设置一个批处理文件,它将在多个处理器上运行一系列文件,我已经完成了代码,但剩下的一个问题是代码的这一部分。基本上, %%f 确实存储了完整的文件名,包括空格后的字符。但是,当它到达 %1 时,它会删除文件名中空格后的所有字符。

有谁知道如何更改它以保留完整的文件名?谢谢!

对于 (*.nas) 中的 /R %%f 调用 :runnastran %%f

:runnastran
    启动 "mywindow" "c:\test\nastran.exe" "c:\test\nastran.ini" "%1"

暂停
4

2 回答 2

1

您需要在 %%f 上使用引号。有人可能会争辩说,您在 %1 上不需要它们。如果您确实在 %1 上使用它们,您应该执行“%~1”,如果它们存在,它将移动现有的引号并添加引号。这样,如果在调用时不使用引号,那么您是安全的,并且如果在调用中使用它们,您最终不会得到 2 组引号。

for /R %%f in (*.nas) do call :runnastran "%%f"

:runnastran start "mywindow" "c:\test\nastran.exe" "c:\test\nastran.ini" "%~1"

pause
于 2013-09-11T16:22:59.343 回答
0

我记得,当你在 DOS 中使用路径时,你可以这样做

"c:\Dir1\Dir1.1\File.ext"

或者这样

c:\"Dir One"\"Dir One.One"\"File X.ext"
于 2013-09-11T16:20:49.880 回答