• ベストアンサー

ワイルドカードを使わず、複数ファイルを1回で検索する方法はありませんか?

複数のファイルを検索したいのですが、ワイルドカードが使用できない状況です。 (連番が振ってあるファイルから、ある数字がついているファイルを検索したいので) CSVまたはTXTのリストはありますので、それを利用して一発検索(&別フォルダにコピー)したいのですが、そういうことができるソフトってありますでしょうか?(フリーソフトでもそれ以外でも構いません) もしくは、WINDOWSの機能で可能だったりしますでしょうか? 使用OS:WINDOWS XP 詳しい状況: フォルダABC内にあるファイルは以下(約15000個)   D-001.jpg、D-002.jpg、D-003.jpg、D-004.jpg、D-005.jpg、D-006.jpg、D-007.jpg、D-008.jpg、…     …D-101.jpg、D-102.jpg、D-103.jpg、D-105.jpg、D-109.jpg、D-110.jpg、… 検索&コピーしたいファイルの例   D-001.jpg、D-007.jpg、D-008.jpg、D-009.jpg、D-110.jpg、D-111.jpg、D-112.jpg フォルダABC内のファイルは増減があります。 検索&コピーしたいファイルも、その時々で変わります。 なお、フォルダは社内サーバ内にあり、インターネット上からは操作不可です。 今は目で見ながら移動させているので、やたら時間がかかっているので…どうにかしたいのです。 ご助言いただければ幸いです。よろしくお願いします。

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

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

for は意外といろんなことができるので使いこなせると便利. 例えば「files.txt」というファイルに D-001.jpg D-007.jpg .... とあるなら, for /F "delims=" %f in (files.txt) do echo %f で「%f に各行を入れながら順に実行する」という操作ができます. つまり, 今の例だと echo D-001.jpg echo D-007.jpg のように順に実行されます. だから for /F "delims=" %f in (files.txt) do copy "%f" 20090408 で OK. ちなみにバッチファイルやスクリプトにする場合には % をもう 1つ重ねて %%f などとする必要があるのでそこだけは注意.

s-hi-no
質問者

お礼

で き ま し た … ! for /F "delims=" %f in (files.txt) do copy "%f" 20090408\ と、最後に「\」をつけないと駄目だったんですが、これで上手くできました! 具体例をいただけたので助かりました! 業務の合間に少しだけ他サイトで勉強したのですが、コマンドパラメータとか%変数とかの言葉が???だったのです…。 バッチやスクリプトについてはなおさら、勉強が必要なのでこれからの課題にします。頑張ります。 有難うございました!

その他の回答 (2)

  • kent85
  • ベストアンサー率52% (38/73)
回答No.2

#1 さんの補足です。 一回うまくいったら BAT にすれば、誰でも簡単に 作業が出来るようになる気がします。 日付でディレクトリ作成して、そこにコピーでいいかと。

s-hi-no
質問者

補足

バッチは確かに便利そうです。 しかし#1さんの補足に書きましたがfor文がニントモカントモ…。 とりあえず下記のような原始的なやり方でやってみようかと思ってます。(これだけでも、処理にかかる時間は格段に違うんですが!) ファイルコピー.bat 「COPY D-001.jpg 20090408 COPY D-007.jpg 20090408 COPY D-008.jpg 20090408 …」 (20090408がフォルダ名)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

その「CSV または TXT のリスト」というのが「1行にファイル名が 1個ずつ書かれたファイル」であれば, for でぐるぐる回すだけ. コマンドプロンプトで 1行叩けば OK.

s-hi-no
質問者

補足

コマンドプロンプトで出来るとは!目からウロコでした。 「1行にファイル名が 1個ずつ書かれたファイル」そのとおりです。 …でもfor文が良く解らないのでちょっとこれから修行しなきゃあ。

関連するQ&A

  • フォルダ内の複数ファイル名をテキストに落とし込む方法

    WinXPを使用しています。 ある1つのフォルダの中に何百個のファイルが入っている状態で、その中のファイル名のリストを作りたいのです。 例えば、それらの"ファイル名"(xxx.jpgとかxxx.pdfとか)をテキストファイル(txtでもcsvでもよい)に落とし込んでリストを作りたいのですが、何かいい方法かソフトはありますでしょうか?

  • dosでサイズを比較して異なるファイルだけコピー

    dosで全フォルダ内のファイルサイズを比較して異なるファイルだけコピーしたい 次のようなファイル構成で AAAフィルダ    BBBフォルダ  cccフォルダ    cccフォルダ   abc.txt      abc.txt   def.jpg      def.jpg  dddフォルダ    dddフォルダ   ghi.txt      ghi.txt   jkl.jpg      jkl.jpg AAA\ccc\abc.txtとBBB\ccc\abc.txt AAA\ccc\def.jpgとBBB\ccc\def.jpg AAA\ddd\ghi.txtとBBB\ddd\ghi.txt AAA\ddd\jkl.jpgとBBB\ddd\jkl.jpg 拡張子は問わずそれぞれに対するファイルのファイルサイズを比較して 大きくても小さくても異なるファイルだけbbbフォルダ内に上書きコピー したくご教授をお願いします

  • PHPで複数のテキストファイルを読み込みたい

    PHPを勉強中です。 どうしても自力で解決できないので助けてください。 やりたい事は、 「複数ファイルの内容を読み込み、  それらのデータをcsvのセルに入れたい。」のです。 Aというフォルダに、複数のテキストファイルがあります。 これら各ファイルの内容をそれぞれ取得して 「○○.csv」のB列に上から順々に書き込んでいきたいのです。 Aフォルダに入っているテキストファイルは連番を想定しています。 A/ 0001.txt 0002.txt 0003.txt : フォルダに入っているテキストファイルの数はいろいろです。 3枚のフォルダもあれば100枚のフォルダもあります。 これらのファイルの内容を、それぞれ取得して 用意されているcsvファイルの特定のセルに テキストファイルの数だけ順番に入れていきたいのです。 ○○.csv A列  |  B列  |  C列  | △  |0001.txt内容|  △  | △  |0002.txt内容|  △  | △  |0003.txt内容|  △  | : : プログラムのヒントを教えていただければ嬉しいです。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • サブフォルダの中身ファイルを一括リネームしたい。

    こんにちは 現在,フォルダの中に大量のサブフォルダ,その中に連番のファイルが入っているフォルダがあり,そのファイルの名前をリネームしようと思っています。 具体的には, ABC\a\01.jpg ABC\a\02.jpg ABC\a\03.jpg ABC\a\dat.txt ABC\b\01.jpg ABC\b\02.jpg ABC\b\03.jpg ABC\b\dat.txt ABC\c\01.jpg ABC\c\02.jpg ABC\c\03.jpg ABC\c\dat.txt といった具合です。 これを,一括で ABC\a\a-01.jpg ABC\a\a-02.jpg ABC\a\a-03.jpg ABC\a\a-dat.txt ABC\b\b-01.jpg ABC\b\b-02.jpg ABC\b\b-03.jpg ABC\b\b-dat.txt ABC\c\c-01.jpg ABC\c\c-02.jpg ABC\c\c-03.jpg ABC\c\c-dat.txt という風にリネームしたいのですが,サブフォルダの名前に対応したリネームソフトが見つかりません。 どなたか,良い方法,ソフトをご存じないでしょうか?

  • ファイル名からフォルダを自動生成して振り分けしてくれるソフト

    ファイル名からフォルダを自動生成して振り分けしてくれるソフト はありませんでしょうか。 当方、仕事で大量の連番ファイルを扱います。 ほとんどは以下のようなファイル名になっています。 abc.001.jpg abc.002.jpg abc.003.jpg ... qwerty_001.jpg qwerty_002.jpg qwerty_003.jpg ... ファイル名の長さは一意ではありません。 連番前の区切りには「.」ピリオドか「_」アンダーバーが使われます。 これらがひとつのフォルダの中にあるとき、 そのフォルダもしくは必要なファイルを指定することで、 ピリオドもしくはアンダーバーより前のファイル名からフォルダを自動生成して それぞれの連番を振り分けてくれることのできるソフトです。 ネットでもさまざまなファイル管理ソフトがありますが、 一番求める機能に近いものでも、ファイル名の前方からの文字数で フォルダ名を指定する必要があるなど、制限がありました。

  • 複数のフォルダに複数のファイルを一括コピー

    複数のフォルダに対し、同時に複数のファイルを一括コピーしたいのですが、なにかよいソフトなどご存じないでしょうか? 例) C:\ファイルA.txt C:\ファイルB.txt 以上のファイルを D:\テキストフォルダ(1) D:\テキストフォルダ(2) D:\テキストフォルダ(3)   ・    ・ へそれぞれ一括でコピーしたいのです。 Googleやベクターで探したのですが、探し方が悪いのか見つかりませんでした。

  • フォルダ内にあるファイルの連番リネーム。

    フォルダ内に決まった数(8枚)のJPG画像が入っていて、その8枚づつ画像の入ったフォルダがたくさんあります。 そのフォルダ内のJPG画像のファイル名はそれぞれ全て違うのですが、フォルダ内にある8枚のJPG画像を全て01.jpg~08.jpgに連番リネームしたいと思っています。 今まではエクスプローラー風フォルダツリーから1個1個フォルダを開けて、中身のJPG画像を全選択して連番にリネームという風にやっていましたが(Namery使用)、例えば中身を変更したいフォルダをD&Dしたらフォルダごとに8枚づつ連番を自動でつけてくれるようなソフト、またはそのような作業が可能なソフトがありましたら教えて下さい。 いくつか試してみましたが期待した結果は得られませんでした、よろしくお願いします。

  • 特定ディレクトリ以下の複数のフォルダ名とファイル名を一括で連番にするバッチの作成

    特定のフォルダ(ディレクトリ)以下の複数のフォルダ名とファイル名を 一括で連番にしてくれる方法(連番+拡張子のリネーム)を教えてください。 ソフトでは簡単ですが*.bat ファイルで実行するスクリプトを 知りたいので宜しくお願い致します 例えば フォルダ0 ├フォルダ1 │ ├ a.txt │ ├ b.jpg │ └ フォルダ2 │    └c.exe └ フォルダ3   └ d.exe という構造があったとして 000000 ├000001 │ ├ 000000.txt │ ├ 000001.txt │ └ 000000 │    └000000.txt └ 000002   └ 000000.txt この様に特定ディレクトリ以下の複数のフォルダ名とファイル名を連番 (上記は6桁ですが001,002…など3桁などに対応できる)にしたいのです 以下の方法で特定のフォルダ内のファイルを.txtに変更まではできましたが、 特定のフォルダより下層のファイルを.txtに変更はできませんでした。 REN E:\フォルダ\フォルダ\*.* *.txt 上記のスクリプトは特定フォルダにあるファイルは拡張子の変更が出来ますが、 そのフォルダより下層の複数のフォルダ名とファイル名の拡張子の変更をできないので、 *.batファイルで連番+拡張子のリネームを一括でするスクリプトの明記をお願い致します。 ご存知の方、どの様なご意見でも構いませんので ご回答頂けると幸いです。宜しくお願い致します。

  • OSXにて複数画像ファイル検索・コピー

    OSXにて同名の画像ファイル(拡張子以外)をまとめて複数検索(ハードディスク内)して特定の場所に自動でコピーさせることは可能でしょうか? 例 aaa.jpg bbb.jpg ccc.jpgを検索      ↓ aaa.eps bbb.eps ccc.epsを指定したフォルダーなどにコピー フォルダアクションで、jpg画像を入れるとepsファイルが検索されコピーされるとか、テキストでファイル名を渡すと検索されコピーされるとかあると非常に助かります。 できれば、無料のアプリか簡単なスクリプトなどでできると更に助かります。 良い知恵をお持ちの方がいらっしゃいましたら、よろしくお願いいたします。

    • 締切済み
    • Mac
  • Win:ファイル名に ( ) をつけるアプリ

    Windowsのファイル名に (番号 )をつけるのにNameryというアプリを使用しています 今回ファイル名に (1).txtのように括弧付き連番を振りたいです 例: Before: abc1.txt abc2.txt ・・・ After: abc (1).txt abc (2).txt ・・・ このようにファイル名の連番の対して半角スペースと半角の( )を付加していきたいのですが、これができるWindows用アプリ、ソフトウェアがありましたら紹介お願いします