带前缀的循环批处理脚本
Batch script for loop with prefix
我已经编写了一个处理一系列文件的批处理脚本,但现在我希望它将输出文件复制到正确的目录。
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
但是这不起作用。
for %%f in (closecaption_*.txt) do (
"%cd%\bin\captioncompiler.exe" "%cd%\%%f"
copy /y "%cd%\%%~nf.dat" "Z:\Users\jbzdarkid\"
)
pause
如果我的 crystal 球正常工作, 应该可以工作。它选择 %%f
.
的名称参数
一些例子会让事情变得更清楚。
以下代码应该有效:
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
我已经编写了一个处理一系列文件的批处理脚本,但现在我希望它将输出文件复制到正确的目录。
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
但是这不起作用。
for %%f in (closecaption_*.txt) do (
"%cd%\bin\captioncompiler.exe" "%cd%\%%f"
copy /y "%cd%\%%~nf.dat" "Z:\Users\jbzdarkid\"
)
pause
如果我的 crystal 球正常工作, 应该可以工作。它选择 %%f
.
一些例子会让事情变得更清楚。
以下代码应该有效:
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