#navi(../)

* ワイルドカードの使い方 [#s9570d77]
コマンドプロンプトで複数のファイルを1つのコマンドで扱う場合、ワイルドカードを利用すると簡単に複数のファイルを対象に処理を行うことができます。~

#contents
#htmlinsertpcsp(win-top.html,win-sp.html)

* ワイルドカードとは [#p7c3942f]
ワイルドカードとは、任意の文字を表現する特殊な記号のことをあらわします。~
以下の2つのワイルドカードがあります。
|記号|説明|文字列長さ|
|*|任意の長さの文字列を表現|0文字以上|
|?|任意の1文字を表現|1文字|

* ワイルドカードを試してみる(* アスタリスク編) [#v4c99dc3]
実際にワイルドカードを試してみます。~
以下のようなファイルが存在している場合でワイルドカードを試してみます。
 C:\wildcards>dir
  ドライブ C のボリューム ラベルがありません。
  ボリューム シリアル番号は B891-081E です
 
  C:\wildcards のディレクトリ
 
 2012/04/23  10:56    <DIR>          .
 2012/04/23  10:56    <DIR>          ..
 2012/04/23  10:56                 4 aomori.dat
 2012/04/23  10:56                 4 aomori.txt
 2012/04/23  10:56                 4 hokkaido.dat
 2012/04/23  10:56                 4 hokkaido.txt
 2012/04/23  10:56                 4 iwate.dat
 2012/04/23  10:56                 4 iwate.txt
 2012/04/23  10:55                 4 kyoto.dat
 2012/04/23  10:54                 4 kyoto.txt
 2012/04/23  10:55                 4 osaka.dat
 2012/04/23  10:55                 4 osaka.txt
 2012/04/23  10:54                 4 tokyo.dat
 2012/04/23  10:54                 4 tokyo.txt
               12 個のファイル                  48 バイト
                2 個のディレクトリ  16,726,036,480 バイトの空き領域

** 拡張子がtxtであるファイル一覧を表示 [#yb781c5a]
以下の実行例は、ワイルドカードを利用し ''*.txt'' とし、拡張子のみ指定し先頭のファイル名は任意の文字列としています。~
よって以下のようにtxtファイルのみの一覧が表示されます。

 C:\wildcards>dir *.txt
  ドライブ C のボリューム ラベルがありません。
  ボリューム シリアル番号は B891-081E です
 
  C:\wildcards のディレクトリ
 
 2012/04/23  10:56                 4 aomori.txt
 2012/04/23  10:56                 4 hokkaido.txt
 2012/04/23  10:56                 4 iwate.txt
 2012/04/23  10:54                 4 kyoto.txt
 2012/04/23  10:55                 4 osaka.txt
 2012/04/23  10:54                 4 tokyo.txt
                6 個のファイル                  24 バイト
                0 個のディレクトリ  16,672,358,400 バイトの空き領域

** tokyoファイル一覧を表示 [#o4a87567]
以下の実行例は、tokyoを指定し拡張子をワイルドカード指定した時の実行例です。
 C:\wildcards>dir tokyo.*
  ドライブ C のボリューム ラベルがありません。
  ボリューム シリアル番号は B891-081E です
 
  C:\wildcards のディレクトリ
 
 2012/04/23  10:54                 4 tokyo.dat
 2012/04/23  10:54                 4 tokyo.txt
                2 個のファイル                   8 バイト
                0 個のディレクトリ  16,669,224,960 バイトの空き領域

** kyoを含むファイル一覧を表示 [#me8f3c90]
以下の実行例は、kyoを含むファイルファイル一覧を指定した場合の実行例です。
 C:\wildcards>dir *kyo*
  ドライブ C のボリューム ラベルがありません。
  ボリューム シリアル番号は B891-081E です
 
  C:\wildcards のディレクトリ
 
 2012/04/23  10:55                 4 kyoto.dat
 2012/04/23  10:54                 4 kyoto.txt
 2012/04/23  10:54                 4 tokyo.dat
 2012/04/23  10:54                 4 tokyo.txt
                4 個のファイル                  16 バイト
                0 個のディレクトリ  16,663,015,424 バイトの空き領域

* ワイルドカードを試してみる(? クエスチョン編) [#i08a54d8]
クエスチョンを利用すると任意の1文字を指定することができます。~
以下のようなファイルが存在している場合でワイルドカードを試してみます。
 C:\wildcards>dir
  ドライブ C のボリューム ラベルがありません。
  ボリューム シリアル番号は B891-081E です
 
  C:\wildcards のディレクトリ
 
 2012/04/23  11:12    <DIR>          .
 2012/04/23  11:12    <DIR>          ..
 2012/04/23  11:05                 4 1A.txt
 2012/04/23  11:06                 4 1BA.txt
 2012/04/23  11:06                 4 1CAB.txt
 2012/04/23  11:05                 4 2A.txt
 2012/04/23  11:06                 4 2BA.txt
 2012/04/23  11:06                 4 2CAB.txt
                6 個のファイル                  24 バイト
                2 個のディレクトリ  16,666,345,472 バイトの空き領域

** 1文字目を?とし2文字目がAのファイル一覧を表示してみる [#ze15c639]
最初をクエスチョンにししているので任意の文字になり、二文字目がAを指定し、拡張子は*を指定しています。
 C:\wildcards>dir ?A.*
  ドライブ C のボリューム ラベルがありません。
  ボリューム シリアル番号は B891-081E です
 
  C:\wildcards のディレクトリ
 
 2012/04/23  11:05                 4 1A.txt
 2012/04/23  11:05                 4 2A.txt
                2 個のファイル                   8 バイト
                0 個のディレクトリ  16,666,345,472 バイトの空き領域

** 2文字目がC構成されているファイル一覧を表示する [#ld1ffdb3]
先頭に?を利用し任意の1文字とし2文字目にCを指定しています。
 C:\wildcards>dir ?C*.txt
  ドライブ C のボリューム ラベルがありません。
  ボリューム シリアル番号は B891-081E です
 
  C:\wildcards のディレクトリ
 
 2012/04/23  11:06                 4 1CAB.txt
 2012/04/23  11:06                 4 2CAB.txt
                2 個のファイル                   8 バイト
                0 個のディレクトリ  16,666,345,472 バイトの空き領域


* dir部分を別コマンドにする [#sfd9fde0]
上記の例では、dirをコマンドを利用しワイルドカードを利用したファイル一覧を表示しました。~
dir部分をファイル削除コマンドのdelコマンドやファイルコピーコマンドのcopyコマンドなどに置き換えれば、複数ファイルを1つのコマンドラインで削除したりコピーしたりすることができます。~
delコマンドでは、ファイルが消えてしまいますので、delコマンド+ワイルドカードを実行する前にdirコマンド+ワイルドカードを実行し、意図したファイルのみ対象となっているかを確認することをお薦めします。

#htmlinsertpcsp(win-btm.html,win-sp.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS