我想做的是从包含各种视频文件名的文本文件中过滤掉特定的视频文件扩展名,例如 filename.txt 内容是
Red.mp4
Yellow.mp4
Blue.mp4
Orange.wmv
Purple.wmv
现在我将只为 .mp4 解析这个文件并利用“for parameter”来制作几个.txt 文件,每个文件都包含特定文件的特定代码。换句话说,将创建与 filename.txt 中的 .mp4 视频数量相同的文件数量 我的代码
::==
@echo off
setLocal EnableDelayedExpansion
for /f "tokens=* delims= " %%a in ('type filename.txt ^|findstr ".mp4"') do (
set /a n+=1
echo >myfile!n!.txt
set v!n!=x264 --crf 23 --level 3.1 --tune film --o "%%a" "%%a.mkv"
)
set v
pause
::==
我有两个问题:
- 如何修改%%a 以删除其 .mp4 字符串,因为当我应用“%%a.mkv”时,文件将被命名为 *.mp4.mkv,我不希望这样,并且可以手动键入 .mp4 --o "%%a.mp4" "%%a.mkv"
如果已经创建了所需的 txt 文件,我如何将变量 v1、v2、v3... 传递给我尝试使用的相应文本文件
echo %v!n!% > >myfile!n!.txt 在循环中,但它不起作用,所以请建议