• 締切済み

古いフォルダーを削除するbatファイル

batファイルでディレクトリのバックアップを行いました。 このバックアップを行うときに古いディレクトリを 削除するbatファイルを考えているのですがうまくいきません。 どなたかお知恵をお貸しください。 下記のように名前が付けられたディレクトリがあります。 090601 090602 090603 090604 このディレクトリの日付が古いディレクトリを削除するようにしたい。 (上記の場合090601が該当) 変数にディレクトリの090601を入れられるようなbatを作ればいいのでしょうが。 それが浮かびません。 どのようにしたらよろしいでしょうか??

みんなの回答

  • OMEGAT
  • ベストアンサー率70% (455/642)
回答No.1

例えば、以下のように書けば変数FOLDに目的のフォルダ名がセットできるかもしれません。 FOR /F "tokens=1-4" %%A IN ('DIR 【バックアップ用フォルダ】 /O:-N') DO IF "%%C" == "<DIR>" SET FOLD=%%D ※ 【バックアップ用フォルダ】は090601や090602などの親フォルダです。 XPでしか確認していませんので、Vistaでは結果が異なる可能性があります。

関連するQ&A

  • batファイルでの一括削除

    知り合いに送ったファイルに不要な物が幾つかあるのが分かりました 知り合いはパソコン操作がそこまで得意でないのでこちらで作成したbatファイルを送り一括削除したいと思います 知り合いに送った圧縮ファイルがどこで展開されたのか分からないのですが 相対パスは分かるのでbatファイルでは相対パスで削除する事は出来るでしょうか? 削除したいファイルは全て名前がsendfilesと言う名前のディレクトリに入っており ディレクトリの中には数字3文字で001から154までほぼ連番で並んだディレクトリがあります このうち037と142の2つをディレクトリと中のファイルごと削除したいです 相対パスでの削除について分かりやすく書かれているURL等を教えて下さい

  • ファイルを削除・新規作成するbatファイル

    batファイルの作り方について教えてください。 私はThunderbirdを利用しているのですが、毎日のようにInboxとJunkというファイルがメールを削除しても膨大に増えてしまうので、 毎日そのファイルを一度削除し、新規作成することを行っています。 この処理を自動化したいと考えています。 つまり (1)Thunderbirdのメール該当フォルダに移動 (2)InboxとJunkファイルを削除 (3)InboxとJunkフォルダを新規作成 (4)終了 という流れです。 batファイルの作り方はなんとなくわかるのですが 実際に作ったことがなくどのコマンドを使っていいのか よくわかりません。よかったら お知恵をお借りしたいと思います。 よろしくお願いします。

  • batファイルかフリーソフトでファイル名の特定文字まで削除できますか?

    batファイルかフリーソフトでファイル名の特定文字まで削除できますか? batファイルにて元のファイル名の後ろに日付と時刻を入れることはできたのですが、 例: abc.txt → abc_1006160810.txt これを更新するために、_までを削除したいのですが、どのようにbatファイルを作ればいいのか分かりません。 どなたか、知恵をいただけませんか。 したいことは、 abc_1006160810.txt の _1006160810 を削除するだけのbatファイルです。 batファイルではなく、フリーソフトにコマンドラインで一発変換でも構いません。 よろしくお願いいたします。

  • 日付でファイルを削除するbatファイルの作り方

    こんにちは。 batファイルを作成した事がなくて、作り方がわからない ので、質問させて頂きます。 例えば、D:\testと言うディレクトリに毎日、あるログファイルが 作成されてどんどん増えていくとします。 それでは、困るので、1ヶ月(30日)、もしくは1週間(7日)以上 経っているファイルは、削除したいのです。 1ヶ月、1週間のどちらでもいいですので、どなたか作り方を教えてください。 OSは、Windows系で、タスクにて毎日1回起動させようと考えています。 よろしくお願いします。

  • コマンドプロンプトで.batファイルを作っています。

    古いバックアップディレクトリを削除するバッチファイルを作りたいです。 cd /d e:\fileDir REM:【最終のディレクトリを削除】 for /F %F in ('dir /b /o:-d') do set fname=%F rmdir /s /q %fname%  をコマンドプロンプト画面に貼り付ければ上手く動作しますが*.batと名前を付けて保存したものをダブルクリックでは全く動作しません。  コマンドプロンプト上で実行するのとバッチファイルで実行することの違いについて調べてみましたがなかなか動作するものになりません。  どなたかご教示いただけないでしょうか    

  • .batファイル作成 set コマンドの使い方

    .batファイルで、以下のような処理をしたいのですが・・・ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 例1 (1)set /p name="名前を入力しなさい⇒" と打ちます。 (2)すると 名前を入力しなさい⇒ と出てくるので、"無名"と入力するとします。 変数 name=無名 が登録されます。 (3)そして↓ echo 私の名前は%name%です 私の名前は無名です と表示されるわけですが、 (4)さらに、出力された"私の名前は無名です"をbodyという変数にセットしたいとします。 .batファイル内で構文をどのようにかけばよいのでしょうか? お教え願います。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 例2 上記の様な処理で、変数bodyに文書を登録したいのですが、一行ではなく、改行やスペーウを加えて何行かにまたがる、長い文書を登録する事は可能でしょうか? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 上記2件について、お教えいただえればと思います。 よろしくお願いたします。

  • ファイルやディレクトリの削除コマンドについて

    ファイルやディレクトリの削除コマンドについて 現在、サーバ内のあるディレクトリ内に保存されているファイルやフォルダを 全て消去したいと思い、batファイルを作成してテストを行っているのですが、 うまくいきません。 ファイルの削除はうまくいきますが、空フォルダが残ってしまします。 batファイルの中身は以下の通りです。 del /s /q x:\test\abc\*.* rd /s /q x:\test\abc\* testやabcは実際のディレクトリ名では有りませんが、 やりたいことは、abcディレクトリ下のフォルダおよびファイルを 全て削除し、abcディレクトリは消さずに残すようなbatファイルが作りたいということです。 abcディレクトリの下には多くのファイルやディレクトリがあり、毎日違う名前のファイルや フォルダが作成されるのでそれを毎日まとめて消す方法をご教授願います。 よろしくお願いします。

  • BATファイルについて

    こんにちは。 皆さんの知恵をお貸し下さい。 AサーバとBサーバがあります。 (両方ともファイルサーバです) AとBは同期をとるBATファイルをあててあります。 ユーザからはAだけ見えて、Bは見えません。 運用のなかでAの方だけファイル削除して Bの方にだけファイルが残った場合、 AになくてBにあるものを削除しなさい、 というコマンドは何かあるんでしょうか。 ご存知でしたら教えていただけますか。 以上、宜しくお願いします。

  • batファイルでrenameができません。

    Windowsのbatファイルでrenameをするにはどうすればよいでしょうか? カレントディレクトリ └ A というディレクトリ構造があって、Aの中には「a.txt」があるとします。 カレントディレクトリから、 「rename "./a/A.txt" B.txt」 と書いてあるbatファイルを起動しても、「a.txt」の名前が変更されません。 「指定したパスが見つかりません。」と出てきてしまいます。 ダブルクォーテーションを取ったりつけたり、絶対パス、相対パスを書いたりと いろいろ試しましたがだめでした。 何か方法はないでしょうか?

  • 日付を指定しファイルを削除するコマンドを教えてください

    batファイルにてファイルを削除しようと思っているのですが、 余り詳しくないので、簡単なものしか作ったことがありません。 "この日付より以前のもの"を日付指定してbatファイルにて削除する方法(コマンド)を教えていただきたく、よろしくお願いします。