画像ファイル系一覧のパスを列挙するバッチ

2019年8月17日
文字数[512文字] この記事は1分38秒で読めます.
setlocal enabledelayedexpansion
type nul >imglist.txt
set BEFORE_STRING=
set AFTER_STRING=/
set BEFORE_STRING2=F:/
set OUTPUT_FILE=imglist.txt
for /f %%a in ('dir /a-d /s /b *.jpg *.gif') do (
set line=%%a
set RES=!line:%BEFORE_STRING%=%AFTER_STRING%!
echo !RES:%BEFORE_STRING2%=!>>%OUTPUT_FILE%!
)
endlocal
画像ファイル系一覧のパスを列挙するバッチです。 ググりながら作ってみました。 ちなみに勘所はsetlocal enabledelayedexpansion(endlocal)と!です。 どうもforの中の変数をセットするタイミングが関係しているので 上記の文言を使用しないとうまく取り出す事が できないようです。 遅延環境変数とかいうそうですね。。。 あまり理解していないけれどもorz