/bin/shに慣れた人に贈るバッチファイルの書き方
無料で読める本
今日、Windowsでもバッチファイルが過去の遺物である事は間違いないですが… ●どこでも必ず使えるスクリプトはバッチファイル・VBScript・JScript・PowerShell しかない ●VBScript、JScript 、PowerShell はコマンドプロンプトからではインタプリタ名の指定を必要とする ●さらに PowerShell ではスクリプトの実行許可設定が必要になり、それがないとセキュリティーエラーになる など「どの環境でも間違いなく、そして手軽に動く」という要件を求めると、バッチファイルかバイナリの実行ファイルにせざるを得ないケースがまだ多いです。幸い、OSがNT系列になってからバッチファイルもかなり高機能になりました。なんとか頑張れば /bin/sh ほどではありませんが、必要なことができそうです。 本書では、これまで自分が学んできたバッチファイル実装のノウハウをニーズからの逆引き形式でご紹介したいと思います。基本的にはOS標準コマンド以外のものは使わないという前提です。
Chapters
(重要)安全なバッチファイルを書くために
(余談)拡張子 .CMD と .BAT の違い
文字列の置換
コマンド出力の引用
ブロック IF / FOR と環境変数の遅延展開
ファイルパスをディレクトリ部分・ファイル名部分に分解する
部分文字列の取り出し(例:パス末尾の余分な の削除)
find -exec 相当の処理
二重起動防止
which と find の機能を持つ where.exe
ファイルのタイムスタンプの取得
改行しない出力・複数行出力
実行日の日付の取得
バッチファイルでサブコマンド
(極道)バッチファイルだと思った? ざんねん!PowerShell でした!
戦いはこれからだ!Never End!
/bin/sh vs CMD.exe 記号対照表
管理者権限昇格
「バッチ ジョブを終了しますか (Y/N)?」
たまーに必要になる LF → CRLF 改行コード変換
バッチへの引数から消えるイコール・セミコロン
Gitが使える環境ならば、awkやPerlも使えるのです
Community
Author
Topics