バッチファイル作成のための参考になりそうなリンク集など


はじめに

このページにあるリンクは比較的初心者向けのページです
慣れている方が見てもあまり意味は無いでしょう
自分のための備忘録としての側面が大きいです
いいサイトやページがあったら追加していくので教えてください

リンク集

文法などの基本的解説

知識ゼロからのwindowsバッチファイル超入門

https://jj-blues.com/cms/
右も左もわからない人はここのサイトの講義の部分を1周するころにはおおよそわかるようになると思います

.bat初心者・未経験者に贈るコマンド集

https://qiita.com/sawa_tsuka/items/4432263ef34418175fa9
変数設定までを解説

Windowsコマンドプロンプト基礎文法最速マスター

http://windows.g.hatena.ne.jp/cx20/20100203/p1
基本的な文法について解説

開発に役立つ,BATファイルの書き方・パターン集 (コマンドプロンプトの定石を体系的に学び,バッチ中級者になろう)

https://language-and-engineering.hatenablog.jp/entry/20130502/PatternsOfMSDOSorBAT
基本的な解説

バッチファイル基礎文法リファレンス

http://kshibamo.web.fc2.com/
基本的な解説

炎のコマンドプロンプト入門

https://archive.fo/o/isM2F/www.geocities.co.jp/SiliconValley-SanJose/1227/index.html
見つけられた残っていた魚拓
環境変数についてのページです
https://archive.fo/isM2F
このサイトはわかりやすかったのですがサービス終了に伴い見れなくなってしまいました

もしデータをお持ちの方がいらっしゃるなら公開するか連絡していただけると幸いです

Windowsバッチまとめ

https://qiita.com/tomotagwork/items/5b9e08f28d5925d96b5f
バッチの文法などについて解説

バッチファイル基礎文法リファレンス

https://qiita.com/kshibamo/items/9368b0b2a4a2f40b61f1
パイプなど含めてよくまとまっていいる

汝、コマンドプロンプトを愛せよ

https://qiita.com/mima_ita/items/90f709cad32ca4e7413d
比較的実用的な感じでサンプルとあわせつつ解説している

バッチファイルでよく使う書き方まとめ

https://qiita.com/sta/items/8cab80fe74b8dcfa5336
テンプレセット

Tips

バッチファイルでの試行錯誤を回避するためのメモ

https://qiita.com/yz2cm/items/8058d503a1b84688af09
よくわからないバグが発生したらこの辺を疑うと原因が見つかるときがある

バッチファイル界の魔境『遅延環境変数』に挑む(おまけもあるよ)

https://qiita.com/sawa_tsuka/items/c7c477cacf8c97792e17
forやifなどで起こるバッチ特有の注意点など

バッチファイル(*.bat) を管理者として実行するための バッチファイル

Windowsバッチまとめ 補足: バッチで出来ないことを他の仕組みで補う

バッチからPowershellのfunction呼び出し

バッチファイルの中にPowerShellスクリプトを埋め込む

バッチファイルでよく使う書き方まとめ

https://qiita.com/sta/items/8cab80fe74b8dcfa5336
いろいろたくさん

Windowsバッチファイルの小技

https://qiita.com/bvtjpn/items/f03f126b18c525c0bf7e
リダイレクション、イベントログ、空ファイル作成、日付取得、待ち処理

DOSバッチファイルを書くときに気をつけていること

https://qiita.com/yz2cm/items/d2c86a09d6b1861d684d
注意点など

汝、コマンドプロンプトを愛せよ

https://qiita.com/mima_ita/items/90f709cad32ca4e7413d
文法とサンプルが事細かに解説されている

Windowsコマンド集(機能別一覧)

DOS コマンド一覧

【windows】windowsコマンド一覧

Windowsコマンドメモ

バッチの引数にファイルパスを渡すと壊れるのな

https://qiita.com/kumazo/items/227d858918edcb848f80
タイトルの通りでそれの回避テンプレが掲載されている

確認用ダイアログの作成

確認用ダイアログなどGUIを用いたフォームはバッチ単体では厳しいのでPowerShellやvbsなどを用いるといいかもしれません
PowerShellを用いたサンプルをメモとして置いておきます
サンプルの流れはバッチでpowershellを呼び出し→powershellから確認用ダイアログを表示→ダイアログから指定のバッチを呼び出し
になっています

PowerShell呼び出し用バッチ

PowerShell呼び出し用バッチ
@echo off
REM 呼び出し用のバッチです
powershell -NoProfile -ExecutionPolicy Unresticted .\呼び出すパワーシェルのファイル.ps1
exit

確認用ダイアログのためのPowerShellスクリプト

確認用ダイアログのためのPowerShellスクリプト
#確認用ダイアログのPowerShellスクリプトのひな形
Set-StrictMode -version Latest

#.NET Frameworkのダイアログ関連オブジェクトの取り込み
Add-Type -AssemblyName System.Windows.Forms;

#ダイアログに表示する説明
$text = "確認のメッセージ本文";

#ダイアログのタイトル
$caption = "確認ダイアログのタイトル";

#ボタンの形状
$buttonsType = "YesNo";

#アイコンの種類
$iconType = "Question";

$result = [System.Windows.Forms.MessageBox]::Show($text, $caption, $buttonsType, $iconType);
if ($result -eq 'Yes') {
    # ここにyesを押したときの処理を書いていく
    #cmd.exeを呼び出し
    cmd /c ".\yesの時に呼び出すバッチ.bat"
    $result = "Yesを押しました"
}
else {
    # ここにnoを押したときの処理を書いていく
    cmd /c ".\Noの時に呼び出すバッチ.bat"
    $result = "noを押しました"
}

参考
https://grum.hatenablog.com/entry/2015/10/08/013254
http://snjx.info/diary/snjx/049
https://kapibara-sos.net/archives/773

作成する際にVSCodeを使う時のメモ

バッチは文字コードがShift JISであるためVSCodeで開くとUTF-8で開き文字化けしてしまいます
いちいち手で文字コードを書き換えるのが面倒なので自動で文字コードを判定するように設定を行います
setting.jsonを開き以下を追加します

"files.autoGuessEncoding": true

参考
https://qiita.com/github129/items/edf1a2c0472fbe293f9c
https://qiita.com/ustakr/items/acad8dc12c166c2ad5e9

おわりに

深い理由がない限り無理にバッチで完結することにこだわっても時間と労力の無駄なのでさっさと適切な言語を使って楽に書いてきましょう