目的は、特定のフォルダーでメディアファイルをスキャンし、mediainfoをinfo.txtに送信することですが、特定のテキスト文字列を持つファイルのみをスキャンするオプションをユーザーに提供することもできます。私のバットファイル:
@echo off
setLocal EnableDelayedExpansion
echo. >info.txt
set /P "folder=Enter folder path: "
set /P "_input=Search all files (y/n): "
if /I "%_input%" == "y" (
dir %folder% /B /O:N | findstr /I ".wmv$ .mpg$ .mkv$ .mpeg$ .mp4$ .avi$" >filename.txt
for /f "tokens=* delims= " %%a in ('type filename.txt') do (
set _in=%_in%%%a
mediainfo --Inform=file://template.txt "%folder%!_in!" >>info.txt
echo. >>info.txt
)
) else (
set /P "_str=Enter file string: "
dir %folder% /B /O:N | findstr /I "%_str%" >filename.txt
for /f "tokens=* delims= " %%a in ('type filename.txt') do (
set in=%in%%%a
mediainfo --Inform=file://template.txt "%folder%!in!" >>info.txt
echo. >>info.txt
)
)
del filename.txt
cls
pause
ifループの最初の部分は正しく機能しますが、「else」の部分は機能しませんが、目のちらつきで消えてしまい、トラブルシューティングできないため、エラーを取得できません。