我希望批处理脚本能够在所有子文件夹中找到第一个电影文件(首先是字母顺序),并创建一个具有相同名称的txt文件。我得到了包含文件的所有文件夹。第一个for循环,但第二个似乎没有按预期工作 电影格式:wmv mkv mp4 avi
@echo off
set CurDir=%CD%
for /f "tokens=*" %%G in ('dir /b /s /a:d %CurDir%') do (
For /f "tokens=*" %%H in ('dir /A:-D "%%G"') do (
echo %%H
)
)
echo %CurDir%
pause
答案 0 :(得分:1)
@echo off
setlocal enableextensions disabledelayedexpansion
set "curdir=%CD%"
for /r "%curdir%" /d %%d in (*) do (
pushd "%%~fd" && (
set "first=1"
for /f "delims=" %%a in ('
dir /b /a-d /on *.wmv *.mkv *.mp4 *.avi 2^>nul
') do if defined first (
set "first="
type nul > "%%~nxa.txt"
)
popd
)
)
对于结构中的每个文件夹,如果文件夹中的第一个文件使用找到的文件的名称和扩展名生成txt文件,则更改为文件夹和列表中的每个文件。