ドラッグドロップで最終2行を表示するバッチファイル
2024年04月16日
ファイル一覧を出力したとき、ファイル数がいっぱいあるとテキストファイルが大きくなる。
通常は特に困るものでもないんだけど、dirコマンドでファイル一覧を取得する場合に途中でやめたか、最後まで解析したかは大事だったりする。
今回は、最後まで解析したかを判断するためのバッチファイルを作成してみた。
通常は特に困るものでもないんだけど、dirコマンドでファイル一覧を取得する場合に途中でやめたか、最後まで解析したかは大事だったりする。
今回は、最後まで解析したかを判断するためのバッチファイルを作成してみた。
本当はドラッグ&ドロップで動く本当はPowerShellを作りたかったんだけど、ネットで調べたらバッチファイルを妥協案としてるのを見て作ることにした。
処理の内容としては、バッチファイルからPowerShellを呼び出すというもの。
引数を%1で受け取って、人間には理解し難いfor文に放り込み。
結果だけわかれば良いので、冒頭にecho offを明示。
echo.による改行を上下に入れて結果を見やすくして、最後にpauseで画面を止めて結果を閲覧できるようにした。
バッチもVBSも枯れた技術で、PowerShellを覚えた方が良いんだろうけどなかなかモチベーションが上がらないなぁ。
2024/04/19 追記
以下のPS用コマンドを変数にセットする処理について、ファイルパスにスペース含むとエラーが出るので対策を実施。引数である%1を2連ダブルコーテーションで挟むと上手くいった。
set ps_command=`powershell "Get-Content -path %1 -tail 2"`
以下ソース
echo off
echo.
set ps_command=`powershell "Get-Content -path ""%1"" -tail 2"`
FOR /F "usebackq delims=" %%A IN (%ps_command%) DO echo %%A
echo.
pause
PR
Comment