• ベストアンサー

MS-DOSでファイルの一覧表示 「ワイルドカード」の利用方法

Windowsのコマンドプロンプトで、ファイル名が5文字のファイル一覧を 表示させたく、以下のコマンドを実行しましたが、 表示させたくないファイルも表示されてしまいました。 ワイルドカード(クエスチョン)の使い方が間違えているのでしょうか。 アドバイスをお願い致します。 ファイルの構成 1.txt 12.txt 123.txt 1234.txt 12345.txt 取得したいファイル 12345.txt 実行したコマンド dir /b ?????.txt 表示結果 1.txt 12.txt 123.txt 1234.txt 12345.txt OS:WindowsXP PRO

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

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

"dir /b"の出力からfindstrで抽出してみた。確認したのはWindows2000ですがXPでもできると思います。もっと簡単な方法があるかもしれないけど。 存在するファイル名のリスト  C:\test>dir /b  1.txt  12 34.txt  12.txt  123.txt  1234.txt  12345.txt  123456.txt  1234567.txt  abcde.txt [Pattern1] 文字種を問わず5文字.txtを抽出  C:\test>dir /b | findstr "^.....\.txt$"  12 34.txt  12345.txt  abcde.txt [Pattern2] 数字5文字.txtを抽出  C:\test>dir /b | findstr "^[0-9][0-9][0-9][0-9][0-9]\.txt$"  12345.txt [Pattern3] 空白以外の5文字.txtを抽出  C:\test>dir /b | findstr /r /c:"^[^ ][^ ][^ ][^ ][^ ]\.txt$"  12345.txt  abcde.txt 他にも存在するファイル名と抽出するファイル名で条件で変わりますが、質問の例だったらPattern1でできます。うまくいかない場合は補足してください。 参考URL: @IT - findstrで正規表現を検索する

参考URL:
http://www.atmarkit.co.jp/fwin2k/win2ktips/511findstr/findstr.html
HaruXP
質問者

お礼

FINDSTRで正規表現を利用する。。。。 こんな回避方法があったんですね。 すばらしい回答を早急にいただき、まことにありがとうございます! Pattern1のやり方で実現させたいと思います。 まことにありがとうございました。

その他の回答 (2)

  • S-Fuji
  • ベストアンサー率36% (592/1624)
回答No.2

元々厳密な処理を行っていないようです。 以下を参照してください。 http://cai.cs.shinshu-u.ac.jp/sugsi/Lecture/HowToUnix/2-2.html 「正規表現」が使えると良いのですがね。

  • wolf03
  • ベストアンサー率22% (241/1086)
回答No.1

仕様ですが・・・ ?????なら5文字以内の扱いとなりますから

HaruXP
質問者

補足

?????は、5文字以内が仕様だったのですか・・・ 存じておりませんでした。勉強になります。 では、ファイル名が5文字のファイルを表示させるには、 どのように指定したらよいのでしょうか。 ご存知でしたらアドバイスをお願い致します。

関連するQ&A

  • フォルダ内の韓国語のファイル名の一覧を作成するには

    エクスプローラーでフォルダの中を見ると 韓国語の文字を含むファイル名の 韓国語の文字が正しく表示されているのに コマンドプロンプトから dirを実行すると 韓国語の文字が■で表示されてしまいます。 コマンドプロンプトから dirを実行して 韓国語の文字が正しく表示させるようにすることは できるのでしょうか。 したいことは dir /b > list.txt で、フォルダの中にある 韓国語の文字を含むファイル名の一覧を 作成したいのですが、生成された list.txtは、韓国語の文字が?の表示になって うまくいきません。 フォルダの中にある 韓国語の文字を含むファイル名の一覧を 作成するにはどうすればよいでしょうか。 (Windows7 日本語)

  • コマンドプロンプトで

    コマンドプロンプトで dir > list.txt と書いたbatファイルを作成し実行すると、中にあるフォルダ・ファイルの一覧ができますが、中にあるフォルダ名のフォルダ・ファイル名までは取得することができません。 一番下フォルダのファイル名まで取得する方法はありますでしょうか? よろしくお願いします。

  • DOS 特定の文字列を含むファイルのみの抽出方法

    C直下に2つのテキストファイル「A.txt」「B.txt」が存在するとします。 Aには「Start」、Bには「Second」という文字列が含まれているとします。 これらのテキストを、BATを使って『テキスト内に特定の文字列が含まれているファイル』のみをDOSプロンプト上に表示する方法をご教示願います。 ■想定するコマンド実行結果 ・Start.BATを実行→DOSプロンプトにて「A.txt」のみが表示する。 ・Second.BATを実行→DOSプロンプトにて「B.txt」のみが表示する。 よろしくお願いします。

  • ディレクトリ一覧取得方法

    お世話になっております。 現在、WindowsXP Pro を使用しております。 あるディレクトリの中の一覧を取得したいと考えていますが、そういったことができるコマンドってあるのでしょうか? 「例」 実際のディレクトリ構造 C:\ ---| ---|-Test ------| ------|-TEST1 ------|-Test.txt ------| という風になっていた場合、 Test以下のディレクトリとファイル名の一覧を取得したいのです。 また、無い場合はお勧めのツールなどありましたらご教授ください。 よろしくお願い致します。

  • フォルダのアクセス権の一覧を取得方法について

    Windowsのコマンドプロンプトでフォルダのアクセス権の一覧を取得したいです。 ディレクトリとサブディレクトリのアクセス権とオーナーが誰かだけ取得したいのですが、方法はありますでしょうか? PowerShellで実行しましたら、「get-acl 許可されていない操作を実行しようとしました。」と出まして、上手くいきません。 そこで、コマンドプロンプトで取得しようと考えているのですが、なかなか良い方法が見付かりませんでして。 ファイルに出力する形式にしたいです。 ご回答頂ければ幸いです。宜しくお願いします。

  • コマンドプロンプトのログ記録

    WinXP/Pro 使用です。 コマンドプロンプトのログ記録を、テキストファイルに書き出すために、例えば dir>c:\kiroku.txt とすると、記述されますが、次に(2度同じ)実行をすると.txtが上書き保存されてしまいます 実行の記録をすべて保存するためにはどうすれば良いのかわかりません。(同じコマンドでの実行を全て保存するログファイルを作りたい) よろしくお願いします。

  • FFFTPのファイル一覧が表示されなくなりました。

    FFFTPを使用していたのですが、突然ファイル一覧が表示されなくなりました。PASVモードを使うをチェックしても、LISTコマンドでファイル一覧を取得をチェックしてもうまくいきません。使えるようにする方法はありませんでしょうか。一様ログにはファイル一覧の取得は正常終了しましたと表示されます。 ローカル側はドライブの表示がされないのでドライブを開くことができません。ホスト側はフォルダ名が/だけ表示します。

  • クラスパス配下のファイル名一覧取得

    ある、クラスパスの通ったフォルダ(仮にdir)があったとして そのフォルダ内にあるファイル名一覧を取得したいと考えております。 dir/ ->a.txt ->b.txt ->c.txt 結果:a.txt、b.txt、c.txt ClassLoader クラスなどを用いて取得しようと考えたのですが、 getSystemResource() メソッドなどはファイル名まで指定しないと 取得できないみたいで、現時点で望む処理ができない状態です。 フォルダまでの絶対パスの指定はしたくないため、 Fileクラスも使用できない状態です。 このような処理をやったことがある方は、 どうかご教授お願いいたします。

  • フォルダ(ディレクトリ)の一覧をプリントできますか

    フォルダ(ディレクトリ)の一覧を プリントしたいと思っています。 コマンドプロンプトで dir /s /b > aaa.txt を実行すると フォルダ(ディレクトリ)とその中のファイル名が aaa.txtに入ってしまいました。 フォルダ(ディレクトリ)のみ ファイルにいれるか プリントする方法があったら 教えてください。 よろしくお願いします。

  • Windows xpで dos プロンプトを使うには

     フロッピーディスクや、フラッシュメモリ等に保存している ファイル名を印刷する方法は、どうしたらいいですか?  と言う質問をしたところ、  コマンドプロンプトを使えるのであれば、 dir /s a:\ >c:\filelist.txt のように実行し、できあがったファイルをメモ帳で開けばファイルの一覧を印刷できますよ。・・・・  という回答をいただきました。windows xpdですが、この このコマンドプロンプトは、どうすれば、dosコマンドに切り替えできるのでしょうか?