Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 忽略批处理脚本中基于文件名的文件_Batch File - Fatal编程技术网

Batch file 忽略批处理脚本中基于文件名的文件

Batch file 忽略批处理脚本中基于文件名的文件,batch-file,Batch File,我有这个脚本,可以使用x265编解码器自动压缩视频文件。有时压缩文件最终会比源文件大。在这种情况下,我将在文件名末尾附加_OPTI 范例 原件: 1.mp4 更名为:1_OPTI.mp4 我的问题是,批处理脚本如何筛选出文件名中包含_OPTI的文件夹中的_OPTI文件,并在向压缩队列中添加文件时忽略它们?在批处理文件中尝试类似的操作 for %%a in ("*.*") do ffmpeg -i "%%a" -c:v libx265 -threads 4

我有这个脚本,可以使用x265编解码器自动压缩视频文件。有时压缩文件最终会比源文件大。在这种情况下,我将在文件名末尾附加_OPTI

范例

原件: 1.mp4

更名为:1_OPTI.mp4


我的问题是,批处理脚本如何筛选出文件名中包含_OPTI的文件夹中的_OPTI文件,并在向压缩队列中添加文件时忽略它们?

在批处理文件中尝试类似的操作

for %%a in ("*.*") do ffmpeg -i "%%a" -c:v libx265 -threads 4 -preset medium -   
crf 23 -c:a aac -b:a 128k "%%~na.mp4"

在批处理文件中尝试类似的操作

for %%a in ("*.*") do ffmpeg -i "%%a" -c:v libx265 -threads 4 -preset medium -   
crf 23 -c:a aac -b:a 128k "%%~na.mp4"

如果文件名包含空格,则应在for选项中包含
delims=
tokens=*
。我认为这是
OPTI
而不是
OPT1
这几乎是可行的,但是对于文件中有空格的文件,例如“Cool Movie 1.mp4”,脚本只是抓住了“Cool”,有没有办法解决这个问题?我已经将示例中的for语句更新为us delims=。当for语句处理命令的输出时,这将停止使用制表符和空格作为分隔符,因此现在应该正确处理带有空格的文件名。Thansk成功了,我不得不在ffmpeg前面取出回显,但它确实完成了我需要它做的事情。多亏了您,在这种情况下,文件名包含空格,您应该在for选项中包含
delims=
tokens=*
。我认为这是
OPTI
而不是
OPT1
这几乎是可行的,但是对于文件中有空格的文件,例如“Cool Movie 1.mp4”,脚本只是抓住了“Cool”,有没有办法解决这个问题?我已经将示例中的for语句更新为us delims=。当for语句处理命令的输出时,这将停止使用制表符和空格作为分隔符,因此现在应该正确处理带有空格的文件名。Thansk成功了,我不得不在ffmpeg前面取出回显,但它确实完成了我需要它做的事情。谢谢你们两位