• ベストアンサー
  • すぐに回答を!

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

  • 質問No.4860610
  • 閲覧数160
  • ありがとう数2
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 80% (12/15)

複数のファイルを検索したいのですが、ワイルドカードが使用できない状況です。
(連番が振ってあるファイルから、ある数字がついているファイルを検索したいので)
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内のファイルは増減があります。
検索&コピーしたいファイルも、その時々で変わります。

なお、フォルダは社内サーバ内にあり、インターネット上からは操作不可です。

今は目で見ながら移動させているので、やたら時間がかかっているので…どうにかしたいのです。
ご助言いただければ幸いです。よろしくお願いします。

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

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

ベストアンサー率 23% (3656/15482)

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

お礼率 80% (12/15)

で き ま し た … !

for /F "delims=" %f in (files.txt) do copy "%f" 20090408\
と、最後に「\」をつけないと駄目だったんですが、これで上手くできました!

具体例をいただけたので助かりました!
業務の合間に少しだけ他サイトで勉強したのですが、コマンドパラメータとか%変数とかの言葉が???だったのです…。
バッチやスクリプトについてはなおさら、勉強が必要なのでこれからの課題にします。頑張ります。
有難うございました!
投稿日時:2009/04/09 12:40

その他の回答 (全2件)

  • 回答No.1

ベストアンサー率 23% (3656/15482)

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

お礼率 80% (12/15)

コマンドプロンプトで出来るとは!目からウロコでした。
「1行にファイル名が 1個ずつ書かれたファイル」そのとおりです。
…でもfor文が良く解らないのでちょっとこれから修行しなきゃあ。
投稿日時:2009/04/08 09:23
  • 回答No.2

ベストアンサー率 52% (38/73)

#1 さんの補足です。

一回うまくいったら BAT にすれば、誰でも簡単に
作業が出来るようになる気がします。

日付でディレクトリ作成して、そこにコピーでいいかと。
補足コメント
s-hi-no

お礼率 80% (12/15)

バッチは確かに便利そうです。
しかし#1さんの補足に書きましたがfor文がニントモカントモ…。
とりあえず下記のような原始的なやり方でやってみようかと思ってます。(これだけでも、処理にかかる時間は格段に違うんですが!)

ファイルコピー.bat
「COPY D-001.jpg 20090408
COPY D-007.jpg 20090408
COPY D-008.jpg 20090408
…」
(20090408がフォルダ名)
投稿日時:2009/04/08 09:26
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ