4か月前のフォルダをサブフォルダも含め消すバッチ
FOR /F "usebackq" %%a IN (`powershell [DateTime]::Today.AddMonths"("-4")".ToString"("'yyyyMM'")"`) DO SET monthago=%%a rmdir /s C:\path\to\%monthago
/q クワイエットモードを使うと事前に設定した変数が展開されない?
また、変数に「数字」は使えない?
FOR /F "usebackq" %%a IN (`powershell [DateTime]::Today.AddMonths"("-4")".ToString"("'yyyyMM'")"`) DO SET monthago=%%a SET 4monthsagp=202311 となってもバッチないでは変数で置き換わらずに4が取れてmonthsgoとなってしまう。定義されていないので、当然置き換わらない。 ちなみにバッチではなくコマンドラインで実行した場合はちゃんと置き換わる
/qが使えない場合に自動でYを返すにはコマンドの頭に「echo Y|」を付ける
echo Y|rmdir /s C:\path\to\%monthago
【PR】
奇跡の歯ブラシ クリアブラック なぞるだけで汚れがおちる 3本セット【正規品】【公式】
¥1,860 (2024年5月9日 06:04 GMT +09:00 時点 - 詳細はこちら価格および発送可能時期は表示された日付/時刻の時点のものであり、変更される場合があります。本商品の購入においては、購入の時点で当該の Amazon サイトに表示されている価格および発送可能時期の情報が適用されます。)