この記事には広告を含む場合があります。
記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
ども。あいしんくいっと(@ithinkitnet)です。
もし、Windowsで、
上司
って依頼されたらどうしますか?
例えば、以下のようなフォルダでファイル名をリストアップするのにも結構な時間がかかるはず・・・。
1個、1個手打ちするなんてあり得ないですし、かと言ってF2キー押して1個、1個コピペしていくのも相当な時間がかかります・・・。
1個や2個、10個くらいまでならまだしも、数100個あるようなファイルリストを手動で作成しようと思ったら、それこそ至難のワザです。
(まぁ、時間にゆとりがあるならOKだけどw)
ithinkit
Windowsでファイルリストを取得するのに役立つのが「dir」コマンドです。オプションで階層指定も可能なので便利です。
dirコマンドでファイルリスト取得
dirコマンドの使い方です。(コマンドプロンプトのHELPから抜粋)
dir /?
ディレクトリ中のファイルとサブディレクトリを一覧表示します。
DIR [ドライブ:][パス][ファイル名] [/A[[:]属性]] [/B] [/C] [/D] [/L] [/N]
[/O[[:]ソート順]] [/P] [/Q] [/R] [/S] [/T[[:]タイムフィールド]] [/W] [/X] [/4]
[ドライブ:][パス][ファイル名]
一覧表示するドライブ、ディレクトリ、またはファイルを指定します。
コマンドオプションはたくさんありますが、覚えておくと便利なのは「/b」と「/s」位でしょうか。
ファイル名のみ取得
ファイル名のみを取得したいなら「/b」オプションをつけて実行します。
では、冒頭に挙げたファイルリストを取得してみましょう。
C:\Users\Administrator>dir /b C:\Windows
ADFS
AppCompat
apppatch
AppReadiness
assembly
bfsvc.exe
Boot
Branding
CbsTemp
~略~
dirコマンドでファイル名のみ取得することが出来ました。
dirコマンドはローカルPCだけでなく、リモートPCのファイルリストも取得可能。(NASとか)
dir /b \\<IP or ホスト名>
ファイルのフルパスを取得
ファイルリスト取得に際し、ファイルのフルパスを取得したい時もそれなりにあると思います。
そんなときは「/b」と「/s」オプションを同時に指定します。
では、冒頭に挙げたファイルリストを取得してみましょう。
C:\Users\Administrator>dir /s /b C:\Windows
~略~
C:\Windows\ADFS\lv
C:\Windows\ADFS\Microsoft.IdentityServer.Deployment.Core.dll
C:\Windows\ADFS\nl
C:\Windows\ADFS\no
~略~
おや?
C:\Windows以下のフォルダパスまで取得してしまいました。
dirコマンドは再帰的に処理するようになっているので、C:\Windows以下のフォルダのさらに下のフォルダパスまで取得してしまいます。
C:\Windows以下のフォルダ直下のものだけをフルパスでリスト取得するにはどうすれば良いのでしょうか?
dirで階層指定したい時は・・・
dirコマンドで「C:\Windows」以下のフォルダリストのみ取得したい。そんなときはfindstrコマンドを組み合わせると良いです。
dir /s /b C:\Windows | findstr /r "^[^\\]*\\*[^\\]*\\*[^\\]*$"
C:\Users\Administrator> dir /s /b C:\Windows | findstr /r "^[^\\]*\\*[^\\]*\\*[^\\]*$"
C:\Windows\ADFS
C:\Windows\AppCompat
C:\Windows\apppatch
C:\Windows\AppReadiness
C:\Windows\assembly
C:\Windows\bfsvc.exe
C:\Windows\Boot
C:\Windows\Branding
C:\Windows\CbsTemp
~略~
C:\Windows\system32>dir /s /b "C:\Users\" | findstr /r "^[^\\]*\\*[^\\]*\\*[^\\]*$"
C:\Users\Administrator
C:\Users\Public
C:\Windows\system32>
findstrをパイプでつなぎ、正規表現を利用して階層指定します。
dirコマンドでファイルリストが取得出来るということを知っておくだけでも業務効率は格段にアップします。
Windowsで特定フォルダのファイルリストを取得する際は「dir」コマンドを利用する。
ithinkit
以上、あいしんくいっとでした。