search
LoginSignup
1

More than 3 years have passed since last update.

posted at

updated at

[バッチ] findで、取得した情報を絞る

もくじ
https://qiita.com/tera1707/items/4fda73d86eded283ec4f

やりたいこと

バッチのコマンドで拾ってきたデータから、必要なものを抜き出したい。

やり方

findを使う。

サンプル

ためしに、カレントパスに存在するファイルとフォルダを列挙するコマンドdirで出るデータから、必要なファイル/フォルダに絞って表示するようにする。

今回はdirで取れた情報から「target」フォルダの情報のみを最終的に表示しようと思う。

実験のためのファイル・フォルダ構成

image.png

dirだけ

dirだけ.bat
@echo off
dir > output.txt
pause
出力(output.txt)
 Volume in drive C is MYSYSTEM
 Volume Serial Number is 3EDB-0C5F

 Directory of C:\Users\masa\Desktop\test

2019/09/11  22:19    <DIR>          .
2019/09/11  22:19    <DIR>          ..
2019/09/11  22:09                30 ABCDE.txt
2019/09/11  22:09                30 FGHIJ.txt
2019/09/11  22:19                 0 output.txt
2019/09/11  22:19                36 sample.bat
2019/09/11  22:17    <DIR>          target
2019/09/11  22:09                30 target.txt
2019/09/11  22:09                30 target2.txt
               6 File(s)            156 bytes
               3 Dir(s)  14,898,491,392 bytes free

dir+findその1

dir+findその1.bat
@echo off
dir | find "target" > output.txt
pause
出力(output.txt)
2019/09/11  22:17    <DIR>          target
2019/09/11  22:09                30 target.txt
2019/09/11  22:09                30 target2.txt

絞れたが、フォルダ、ファイルの両方が出てしまっている。
ファイルについては、「target」を含めば拾ってしまうので、後ろに「2」がついてるファイルも出てきてしまう。

dir+findその2

dir+findその2.bat
@echo off
dir | find "target" | find "<DIR>" > output.txt
pause
出力(output.txt)
2019/09/11  22:17    <DIR>          target

ディレクトリ(フォルダ)には<DIR>というのがつくので、それでさらに絞る。
これで、今回ほしい情報は取れた。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
1