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】
大一鋼業(Markey) 石膏ボード・ベニヤ・木用フック スリーピンフック クリア 透明 2個入り 耐荷重:7Kg
¥362
(2024年11月23日 22:51 GMT +09:00 時点 - 詳細はこちら価格および発送可能時期は表示された日付/時刻の時点のものであり、変更される場合があります。本商品の購入においては、購入の時点で当該の Amazon サイトに表示されている価格および発送可能時期の情報が適用されます。)