Batch file 检查文件是否存在,如果不运行命令(PowerShell/Batch)
我希望有一个批处理(或PowerShell)文件,该文件通过一个电影文件的所有子文件夹,并在该电影文件上运行Handbrake(应用程序),然后向该文件夹输出一个文本文件,以确认该文件夹已被处理。这对于v1来说很好,但是对于v2,我需要检查那个文件是否存在……这就是我被卡住的地方 命令的当前值为Batch file 检查文件是否存在,如果不运行命令(PowerShell/Batch),batch-file,if-statement,for-loop,Batch File,If Statement,For Loop,我希望有一个批处理(或PowerShell)文件,该文件通过一个电影文件的所有子文件夹,并在该电影文件上运行Handbrake(应用程序),然后向该文件夹输出一个文本文件,以确认该文件夹已被处理。这对于v1来说很好,但是对于v2,我需要检查那个文件是否存在……这就是我被卡住的地方 命令的当前值为 for /R .\ %%a in (*.avi,*.divx,*.m4v,*.mkv,*.mp4) do "%ProgramFiles%\Handbrake\HandBrakeCLI" --preset
for /R .\ %%a in (*.avi,*.divx,*.m4v,*.mkv,*.mp4) do "%ProgramFiles%\Handbrake\HandBrakeCLI" --preset="iPod" --optimize --turbo --input="%%a" --output="E:\MobileMovies\%%~na.mp4"
提前感谢并希望这是有意义的…如果[不]存在,您需要使用
,例如:
if not exist myfile.txt for /R .\ %%a in (*.avi,*.divx,*.m4v,*.mkv,*.mp4) do "%ProgramFiles%\Handbrake\HandBrakeCLI" --preset="iPod" --optimize --turbo --input="%%a" --output="E:\MobileMovies\%%~na.mp4"
对于集合中的每个文件,如果不存在一个标志文件name.extension.processed
文件,则在同一目录中重新编码并生成标志文件谢谢,是的,这就是我所想的,但无论我如何拥有“如果不存在”,它都不起作用。检查你的上面,这似乎也不起作用
for /R .\ %%a in (*.avi,*.divx,*.m4v,*.mkv,*.mp4
) do if not exist "%%~fa.processed" (
"%ProgramFiles%\Handbrake\HandBrakeCLI" --preset="iPod" --optimize --turbo --input="%%a" --output="E:\MobileMovies\%%~na.mp4"
break > "%%~fa.processed"
)