• ベストアンサー

windows7のコマンドでファイルを検索したい

windows7のコマンドでファイルを検索したいのですが、 調べてみると下記のようなコマンドで調べれるとの事でした。 dir /s /b *** しかしこれではカレントディレクトリからしか調べる事ができず不十分です。 全てのドライブからこのファイルを検索したいというコマンドを探しております。 unixでいえば find / -name *** のようなものです。 windows7のコマンドプロンプトではこのような事はできないのでしょうか。

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

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

>find / -name *** のようなものです そもそも、OSの違いをちゃんと理解していれば、こんな質問にはならないはずなんですけどね・・・・ No1さんの回答だと、たぶん理解できないのではないかと。find でも同じですが、パスを指定しているので、そこからの検索になります。指定しないと、カレントフォルダー配下になります。 dir コマンドも同じです。引数にパスを指定すれば言いだけの話です。まあ、例をあげておきましょう。 >dir c:\ d:\ e::\ >for /r %a in () >forfiles /? などたくさんあります。 http://technet.microsoft.com/ja-jp/library/cc772390(v=ws.10).aspx 等をみましょう。また、これらのコマンド組み合わせるの常套手段でしょう。 別なものでは、 http://search.yahoo.co.jp/search?b=1&n=10&ei=UTF-8&fr=ie8sc&p=wmic+datafile+where から http://technet.microsoft.com/en-us/library/cc758713(v=ws.10).aspx などをみれば wmic コマンドでのやり方がでています。つまり、 WMIC DATAFILE WHERE "PATH= など where句を使えば、拾ってこれます。 http://technet.microsoft.com/en-us/library/cc739502(v=ws.10).aspx など上から順番にみてゆけば、達成方法がいくつもあり、状況にあわせて、チョイスしながら、つかうことになります。 >全てのドライブからこのファイルを検索 UNIXにはドライブと言う概念がありません。論理デバイスをマウントうする形になり、どこにマウントされるかが問題になりますが、Windowsは、その倫理デバイスが、論理ドライブと言う概念にとって代わったことになり、それにあわせた方法論を展開すべきことです。例えば、そのマシンで有効になっている(マウントされている)ドライブレターの取得方法とか。 WSH(JScript or VBScript)、 WMIなどで簡単に取得できます。 http://search.yahoo.co.jp/search?p=Windows+%E3%83%89%E3%83%A9%E3%82%A4%E3%83%96%E3%83%AC%E3%82%BF%E3%83%BC%E3%81%AE%E5%8F%96%E5%BE%97&aq=-1&oq=&ei=UTF-8&fr=ie8sc&n=10&x=wrt など検索すれば結構出てきます。 >echo list volume | diskpart | find "NTFS" なんてすると、リストする方法もあります これを組み合わせると for /f "xxxxxx" %a in (`echo list volume ^| diskpart ^| find "NTFS"`) do ( dir /s %c:\*.log ) (オプション等略しています) などとなるでしょうね 状況により、コマンドとスクリプト言語を、適時、適所に組み合わせる事になるでしょうね。UNIX、Linux系のスクリプトも全く同じですね。できないこともたくさんあるので、いくつものコマンドを組みあわせることになっています。たとえば、sed , awk はとても重宝しているコマンドですが、WindowsではJScript, VBScript , power script でもっと簡単に出来ています。 WMIを使うのが一番簡単かと。

その他の回答 (1)

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

*.txtをドライブCルート直下から一覧出力するコマンド例。

関連するQ&A