質問: バッチファイルのコマンドについて cドライブにフォルダ【tmp】があります。このフォルダには毎日、日付けの名称のフォルダ(ddmmyyyy)が一つ作成されます。c:\tmpにあるサブディレクトリを、dドライブ【bak】フォルダに移動するバッチファイルを作成したいのですが、どのようなコマンドを記述すればいいのでしょうか。 set dir1=c:\tmp\* set dir2=d:\bak move "%dir1%" "%dir2%" 上記では、tmpのファイルのみしか移動出来ません。また、d:\bakに移動したフォルダを定期的に削除したいのですが(作成後、一ヶ月以上経過したフォルダ)どのようにdelコマンドを記述すればいいでしょうか。 宜しくお願いします。
回答: カレントディレクトリの配下に存在する”作成日の新しいディレクトリ30個以外”を消す場合 for /f "skip=30" %i in ('dir /ad /tc /o-d /b') do rmdir /s /q %i という感じでいいと思います。 もし、「??の使い方が間違っています」と怒られるなら、 for /f "skip=30" %%i in ('dir /ad /tc /o-d /b') do rmdir /s /q %%i で試して下さい。 なお、有無を言わさずに、ディレクトリを消すので、自己責任でお願いします。