#windowsバッチでテキストファイルをリネームしてパス付圧縮を行いたい
アンダーバー(_)で区切られたファイル名を持つテキストファイル A_B.txt のBの部分を今日の日付に変換し、Aの部分をパスワードとして変数等に入れ、lhaplusに渡してパス付きzip圧縮したいと考えています。
たとえば以下のようなファイルがあり、
abc_hoge.txt
def_foo.txt
ghi_bar.txt
……
これらを
abc_20210131.txt というふうにrenameし、さらにabcの部分をパスワードとしてlhaplusで圧縮する、という処理です。
abc_20210131.zip (パスワード:abc)
bat
1set today=%date:~0,4%%date:~5,2%%date:~8,2% 2 3setlocal enabledelayedexpansion 4for /f "usebackq tokens=1,2 delims=_" %%a in (`dir *.txt /b`) do ( 5rename %%a_%%b %%a_!today!.txt 6set name=%%a 7call :sub %%a 8) 9endlocal 10 11:SUB 12"K:\K-programfiles\Lhaplus\Lhaplus.exe" %1 /c:zip /p:%name% /od 13Exit /b 14
これだとサブルーチンに渡す%%aはabc(やdefなど)になってしまい、ファイルとして渡せていません。
ファイルはファイルで、パスワードはパスワードでそれぞれ渡したいのですが、何か良い方法はないでしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/01/31 07:44