• ベストアンサー

バッチファイルで特定ファイル以外を削除

お願いします。 あるディレクトリ内に program.bat があります。 このディレクトリにある、自分自身(program.bat)と特定の拡張子(たとえば .hoge と .foo) 以外すべてを削除するにはどのように書けばいいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

僕なら、残すファイルを別ディレクトリに移して、該当ディレクトリのファイルを全て消し、別ディレクトリに退避したファイルを元のディレクトリに戻します。 mkdir ..\backup move program.bat ..\backup move *.hoge ..\backup move *.foo ..\backup del * move ..\backup\* rmdir ..\back

tuktukrace
質問者

お礼

ありがとうございます。 やはりそういう動きになりますか。 しかし1階層上に動かすというのは勉強になりました。 単純なことですが、同じディレクトリに tmp ファイルなどを作成する方法をいろいろいじっていましたが、 同じディレクトリだと全部選択したときに巻き込まれてしまい・・・(笑) おかげで問題解決しました。

関連するQ&A

  • DOS(バッチ)でディレクトリの削除

    e:\test\foo\bar と言うディレクトリ構成があると仮定します。 この時、ディレクトリ "foo" を削除するにはどのようにすればいいの でしょうか? ---- sample.bat ---- chdir e:\test del /f /s /q foo -------------------- 上記の sample.bat では、中身のファイルは削除されるのですが、 ディレクトリは残ったままです。 ディレクトリ "foo" そのものを削除したいのですが可能でしょうか? windows 2000pro sp2

  • grep 正規表現の扱い方 特定のファイル郡のみを指定するには?

    ディレクトリのファイルをgrepを使った正規表現で指定したいのですが、 /hoge/temp[001-999].php のように、hogeディレクトリにあるphpファイル全てを含め、なおかつ、 /hoge/foo/temp[001-999].php のように、hoge/fooディレクトリにあるphpファイルを全て含めない正規表現の書き方を教えてほしいです。 正規表現にあまり詳しくなく、思いつくものといっても「hoge/.*.php」くらいで、当たり前ですが双方のディレクトリが含まれてしまいます・・・。 もう一つ、質問です。 /hoge/ ディレクトリにあるファイル全てを含め、なおかつ /hoge/foo/ ディレクトリにあるファイルは全て含めない という指定の仕方も教えてほしいです。 分かる方がいましたら、お手数ですがぜひ教えてください。よろしくお願いします<(_ _)>

  • Windowsのディレクトリを削除できたり、できな

    Windows7で以下の操作をしました。 1. 2階層のディレクトリを作成 (コマンドプロンプト) >D: >md hoge >md hoge\foo 2. エクスプローラーでD:\hoge\fooを開いたままにする 3. コマンドプロンプトでhogeをrdの/Sオプションで削除 rd /Q /S hoge 「ディレクトリが空ではありません。」とメッセージとなり、 ディレクトリhogeを削除されませんでした。 しかし、ディレクトリfooは削除されているので、空ではない です。 PCによって(タイミング?)、3.が成功するのですが、どのような 状況だと削除できないのでしょうか。

  • 指定以外のファイルやフォルダを削除したい。

    デスクトップ上にあるファイル、フォルダの内、 指定したファイル、フォルダ以外を削除するBATファイル、 もしくはVBSを作成したいのですが、 どのような記述をすれば良いのでしょうか? OSはWindows2000 server SP4です。 どなたかご教示よろしくお願いいたします。 例: デスクトップに以下の2つのファイルと1つのフォルダがあり、 これ以上デスクトップにファイルやフォルダを増やしたくないのですが、 「hoge2.txt」 「hoge.lnk」 「hoge」 誤って以下のファイルとフォルダを作成してしまいました。 「hoge1.txt」 「hoge.jpg」 「hoge2」 「hoge2.txt」と「hoge.lnk」「hoge」は常にデスクトップに残し、 「hoge1.txt」と「hoge.jpg」「hoge2」を一括削除したい。

  • バッチファイルでのファイル削除

    ファイル削除をするバッチファイルを作成しようと思うのですが、わからない部分があるので教えてください。 ファイル削除は del [ファイル名] のコマンドでできることはわかります。 自分がやりたいのはCドライブの中のある特定の文字列(例えば「20110326」など)を含んだファイルを見つけ出し、それを削除するようにしたいです。(Cドライブ直下だけでなく、サブディレクトリなども含めて削除) どのようにすればよいのでしょうか? よろしくお願いします。

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

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

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

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

  • バッチファイル

    バッチファイルとは一括処理を行う為のプログラムと認識しています。 拡張子が.batになった場合はバッチファイルになるのでしょうか?またどういう時につかうのでしょうか? ご教示頂ければ幸いです

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

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

  • 特定のフォルダー内の全てのファイルを削除するには

    お世話になります。 Perlで特定のファイルをunlinkで削除することは、したことがあるのですが、特定のフォルダ例えばCGIプログラムのあるフォルダ配下の「./temp」フォルダー内の全てのファイルを削除するプログラムは、どのように記述すればよいのですか?よろしくお願いします。

    • ベストアンサー
    • Perl

専門家に質問してみよう