• ベストアンサー
  • 困ってます

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

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

お礼率 47% (11/23)

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

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

  • 回答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で正規表現を検索する
お礼コメント
HaruXP

お礼率 47% (11/23)

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

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

まことにありがとうございました。
投稿日時:2008/09/03 13:42

その他の回答 (全2件)

  • 回答No.2

ベストアンサー率 36% (592/1624)

元々厳密な処理を行っていないようです。
以下を参照してください。
http://cai.cs.shinshu-u.ac.jp/sugsi/Lecture/HowToUnix/2-2.html

「正規表現」が使えると良いのですがね。
  • 回答No.1

ベストアンサー率 22% (241/1085)

仕様ですが・・・
?????なら5文字以内の扱いとなりますから
補足コメント
HaruXP

お礼率 47% (11/23)

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

では、ファイル名が5文字のファイルを表示させるには、
どのように指定したらよいのでしょうか。
ご存知でしたらアドバイスをお願い致します。
投稿日時:2008/09/03 11:43
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

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

関連するQ&A

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

ピックアップ

ページ先頭へ