- ベストアンサー
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
- みんなの回答 (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で正規表現を検索する
その他の回答 (2)
- S-Fuji
- ベストアンサー率36% (592/1624)
元々厳密な処理を行っていないようです。 以下を参照してください。 http://cai.cs.shinshu-u.ac.jp/sugsi/Lecture/HowToUnix/2-2.html 「正規表現」が使えると良いのですがね。
- wolf03
- ベストアンサー率22% (241/1086)
仕様ですが・・・ ?????なら5文字以内の扱いとなりますから
補足
?????は、5文字以内が仕様だったのですか・・・ 存じておりませんでした。勉強になります。 では、ファイル名が5文字のファイルを表示させるには、 どのように指定したらよいのでしょうか。 ご存知でしたらアドバイスをお願い致します。
お礼
FINDSTRで正規表現を利用する。。。。 こんな回避方法があったんですね。 すばらしい回答を早急にいただき、まことにありがとうございます! Pattern1のやり方で実現させたいと思います。 まことにありがとうございました。