【发布时间】:2018-04-14 20:56:40
【问题描述】:
我有一个录制视频的小 cmd 程序,并像这样等待一个参数作为文件名:
START /WAIT "" "C:\Program Files (x86)\Synthesia\Synthesia.exe" --on-
startup Play --on-song-end Quit
"DirectoryHere\%~1"
exit
我不知道如何遍历特定文件夹中的所有文件,并在等待它退出的同时运行该程序。
这是我目前在 bash 中的尝试:
for filename in /ToBeRendered/*.mid; do
./1Processor.cmd $filename
done
这给出了错误,line1: syntax error near unexpected token '$'do/r
【问题讨论】:
-
我已经修复了您的代码片段,因此它们使用四个前导空格;还有 bash 脚本的缩进。循环看起来不错,但它使用的是根目录的子目录。也许你的意思是
./ToBeRendered/*.mid。另外,bash shell 是否知道如何执行.cmd文件?也许你的意思是cmd 1Processor.cmd $filename。 -
这是 Cygwin 或 MinGW bash 运行 Windows .cmd 脚本吗?
-
这是在 windows 10 中使用 linux 模块中的 bash。我尝试了你的建议,我仍然得到:test.sh: line 1: syntax error near unexpected token
$'do\r'' 'est.sh: line 1:for filename in . /ToBeRendered/*.mid;做
标签: windows bash shell command-line cmd