コミュ障だから明日が僕らをよんだって返事もろくにしなかった

何かを創る人に憧れたからブログをはじめたんだと思うよ

きっと何者にもなれない僕だから

フォルダとかファイルとかの構造を図式化表示するのにこういった方法はどうですかという提案

久しぶりにバッチファイルをいじった気がする

PowerShellでもいいんだけど、別にループとかそういう処理をしないならバッチファイルでいいかなということで久しぶりにバッチファイルをいじりました。フォルダの中身を見るのにtreeコマンドというのがあるので、こういった使い方をしてフォルダとファイルの構造をみていくのはどうですかという提案。

久しぶりにいじったけどやっぱり「%」で囲む変数は死ぬほど読み辛い。

つくってみた

・treeコマンド

ドライブやパスのフォルダ構造を図式表示します。

TREE [ドライブ:][パス] [/F] [/A]

  /F 各フォルダのファイル名を表示します。
  /A 拡張文字ではなく、ASCII 文字で表示します。

そんなコマンドです。実際に調べたいフォルダでtree /Fをすると以下のようになるよ。
f:id:andron:20160813154614p:plain

これで毎回フォルダに移動して、コマンド打ってもいいのだけど僕はそれすらも面倒くさいのでバッチファイルにして、下のようなテキストファイルで管理するのはどうですかという提案をするよ。上の画像で言うTreeLog.batを作ってしまえということだよ。このファイルをクリックするだけで「2016_09_17log.txt」のようなファイルが作成されるようになるよ。


バッチファイルの中身「TreeLog.bat」

@echo off
echo %date%_%time%_LogData >> ./log/%date:~0,4%_%date:~5,2%_%date:~8,2%log.txt
tree /f >> ./log/%date:~0,4%_%date:~5,2%_%date:~8,2%log.txt

・誰も得しない解説

%date% 現在の日付を返すよ
%time% 現在の時間を返すよ

日付を返すとき「/」記号がファイルに使えないからそれをはじくような記述をしているよ


これで、「2016_09_17log.txt」のようなテキストファイルが出力されるようになるよ。中身はこんな感じ。

2016/09/17_15:43:47.28_LogData 
C:.
│  tree.txt
│  TreeLog.bat
│  
├─7月
│      メモ.txt
│      
├─8月
│      メモ.txt
│      
├─9月
│      メモ.txt
│      欲しいものリスト.txt
│      
└─log
        2016_09_17log.txt

リダイレクトとかそういったものや、追加で欲しい機能は適宜好みの形にカスタマイズしてね。今回の記事、いつものこんなのつくってしまったシリーズよりも実用的な気がするけどどうだろう。