Treeコマンドの結果から階層を指定して取り出すスクリプトの検討
2023年04月08日
前回投稿したGoogleSearhConsoleで直近1か月のページごとのアクセス数を見ると
圧倒的に以下のtreeコマンドのページが多い。
「Windowsのtreeコマンドで3階層目までだけを表示する方法」
この方法を自分で使っていて思うのは、フォルダ数が多いNASに対して
2階層と3階層それぞれの結果を取りたいときにめんどくさい。。。
今回は、treeコマンドの結果をインポートして
階層別にファイル出力するスクリプトについて検討した話。
圧倒的に以下のtreeコマンドのページが多い。
「Windowsのtreeコマンドで3階層目までだけを表示する方法」
この方法を自分で使っていて思うのは、フォルダ数が多いNASに対して
2階層と3階層それぞれの結果を取りたいときにめんどくさい。。。
今回は、treeコマンドの結果をインポートして
階層別にファイル出力するスクリプトについて検討した話。
treeコマンド自体に階層を指定する方法はないので、結局全検索が行われる。
記事で紹介した方法は、treeコマンドを実行した結果を
特定のキーワードでフィルタして表示するというもの。
treeコマンドの結果をテキストファイルに出力しておいて、
それをインポートするスクリプトを作ればいいじゃんと思った次第。
1階層目は以下の2通りのみ。
├─パターン1
└─パターン2
全角1文字の後に─(罫線)が登場する。
正規表現すると、以下の通り。
"^..─" (全角1文字は、「..」で任意の半角2文字で表現する)
2階層目を正規表現すると以下の通り。
"^.. ..─"
特徴
・全角1文字か半角2文字が2回登場。
・3バイト目と4バイト目がスペース2つ。
・7バイト目と8バイト目に─(罫線)が登場する。
3階層目を正規表現すると以下の通り。
"^.. .. ..─"
特徴
・全角1文字か半角2文字が3回登場。
・3バイト目、4バイト目、7バイト目、8バイト目がスペース2つ。
・9バイト目と10バイト目に─(罫線)が登場する。
4階層目を正規表現すると以下の通り。
"^.. .. .. ..─"
特徴
・全角1文字か半角2文字が4回登場。
・3バイト目、4バイト目、7バイト目、8バイト目、11バイト目、12バイト目がスペース2つ。
・13バイト目と14バイト目に─(罫線)が登場する。
これらの特徴を使って判定処理を書くか、
正規表現を使って判定するか悩ましいなぁ。
正規表現を使って判定する処理は、以下のサイトが良さそう。
https://syutaku.blog/vbscript-regexp-test/
プログラムの要素とベースとなるソースは以下の通り。
・VBScriptでドラッグドロップをトリガに処理する。
「ドラッグドロップで更新日時をファイル名に付与するVBScript」
「CSVファイルのタイトル行を削除してリネームするスクリプト」
・テキストファイルに特定文字を含む行を別名保存する。
「テキストファイルから指定した文字列を含む行を抽出するVBScript」
とりあえず必要な要素は整理したけど、
VBScriptは未着手。。。
完成したら続き書きます。
PR
Comment