我编写了一个处理一系列文件的批处理脚本,但现在我希望它将输出文件复制到正确的目录中。
for %%f in (closecaption_*.txt) do (
"%cd%\bin\captioncompiler.exe" "%cd%\%%f"
copy /y "%cd%\%%f" "Z:\Users\jbzdarkid\"
)
pause
目前,此脚本会将所有.txt文件复制到我的主目录中。但是,我希望它将.dat文件(输出)移动到我的目录中。理想情况下,它只会移动新的.dat文件,即刚刚处理过的文件。
我希望能够做到这样的事情:
for %%f.txt in (closecaption_*.txt) do (
"%cd%\bin\captioncompiler.exe" "%cd%\%%f.txt"
copy /y "%cd%\%%f.dat" "Z:\Users\jbzdarkid\"
)
pause
然而这不起作用。
答案 0 :(得分:1)
for %%f in (closecaption_*.txt) do (
"%cd%\bin\captioncompiler.exe" "%cd%\%%f"
copy /y "%cd%\%%~nf.dat" "Z:\Users\jbzdarkid\"
)
pause
如果我的水晶球正常工作,应该有效。它选择%%f
的名称标准。
一些例子可以使问题更清楚。
答案 1 :(得分:0)
以下代码应该有效:
for /f "tokens=1,2 delims=." %%f in ('dir /a-d /b "%cd%\closecaption_*.txt"') do (
"%cd%\bin\captioncompiler.exe" "%cd%\%%f"
copy /y "%cd%\%%f.dat" "Z:\Users\jbzdarkid\"
)
pause