重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

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

A 回答 (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/511fi …
    • good
    • 0
この回答へのお礼

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

Pattern1のやり方で実現させたいと思います。

まことにありがとうございました。

お礼日時:2008/09/03 13:42

元々厳密な処理を行っていないようです。


以下を参照してください。
http://cai.cs.shinshu-u.ac.jp/sugsi/Lecture/HowT …

「正規表現」が使えると良いのですがね。
    • good
    • 0

仕様ですが・・・


?????なら5文字以内の扱いとなりますから

この回答への補足

?????は、5文字以内が仕様だったのですか・・・
存じておりませんでした。勉強になります。

では、ファイル名が5文字のファイルを表示させるには、
どのように指定したらよいのでしょうか。
ご存知でしたらアドバイスをお願い致します。

補足日時:2008/09/03 11:43
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!