概要

参考:

バッチまとめ – Qiita

基本

参考:

Windows のバッチファイルの基本的な使い方 | @IT

引数

参考:

バッチファイル引数 | Capm Network

変数

set var=42
echo %var%

参考:

バッチファイル変数 | Capm Network

「%」パーセント | Programming Field

バッチファイルで変数を使う | 知識ゼロからの windows バッチファイル超入門

if 文

比較演算子
  • equ
  • neq
  • gtr
  • lss
  • geq
  • leq

参考:

IF – バッチファイルで条件分岐を使う | Let’s プログラミング (javadrive.jp)

.bat (バッチファイル) の if コマンド解説 – Qiita

iff 文のサンプル | ITSakura

if 文 | 山本ワールド

if – 条件分岐 | 知識ゼロからの Windows バッチファイル超入門

for 文

参考:

.bat (バッチファイル) の for コマンド解説 – Qiita

環境変数を定義する

@set PATH=%PATH%;"C\path\to\my_tools"
@set GREETING=Hello, John

参考:

環境変数の値の参照と設定 (SET) | コマンドプロンプトの使い方 (adminweb.jp)

環境変数の使い方 | Programming Field

コマンド自体を出力しない

コマンドの前に @ を付けるとそのコマンド自体を出力しない。

何も出力せずにエコーをオフにする。

@echo off

参考:

What does “@” mean in Windows batch scripts – Stack Overflow

改行のみを出力する

echo コマンドの後ろにセミコロン ; を付ける。

@echo;

参考:

echo で改行する | 知識ゼロからの windows バッチファイル超入門

echo で空行をファイルに出力する方法 | Project Group (projectgroup.info)

How can I echo a newline in a batch file? – Stack Overflow

コメント (rem)

@rem コマンドの後にコメントを記述する。

@rem Write comments here...

参考:

コメントの記述 (REM) | コマンドプロンプトの使い方 (adminweb.jp)

別のバッチファイルを実行する (call)

参考:

CALL – バッチファイルから別のバッチファイルを呼び出す | Let’s プログラミング (javadrive.jp)

call – バッチファイルやサブルーチンの呼び出し | 知識ゼロからの Windows バッチファイル超入門

バッチファイルからバッチファイルを呼び出す | 知識ゼロからの Windows バッチファイル超入門

call | Windows コマンド虎の巻

call – プログラムやバッチファイルを呼び出す | k-tanaka.net

ファイルのパスに空白が含まれるとエラーになる

参考:

バッチファイルでのスペースを含んだ文字列の取り扱い | 知識ゼロからの windows バッチファイル超入門

CMD.exe でパス名に空白が入ってどうしても解決できないときのオカルト技 – Qiita

コマンドプロンプトで、「コマンドの構文が間違っています」、というエラーになります – Yahoo! 知恵袋

相対パスでファイルを指定する

参考:

%~dp0 とは | ぺんたん info

How to call a batch file that is one level up from the current directory? – Stack Overflow

Get the path two directories up in batch file – Stack Overflow

how to navigate in range of parent folder without full path? – Super User

引数の数を判定する

参考:

バッチ起動時の引数の個数の数え方 | DOS プロンプト活用相談室 LOG

バッチファイル内で引数が渡されているか確認するサンプルプログラム | FAQ Center (tooljp.com)

引数からファイル名を取得する

  • %~nx1:ファイル名と拡張子
  • %~x1:拡張子のみ
  • %~n1:拡張子を取り除いたファイル名

参考:

バッチファイルで basename – Qiita

管理者権限で実行する

管理者権限でバッチファイルを実行した場合、

C:\Windows\System32

をカレントディレクトリとして実行される。

参考:

バッチファイルを管理者として実行した場合のカレントディレクトリ | シスメモ (centos.964ma.com)

管理者として実行するバッチファイルを作るときの注意事項 | マコトのおもちゃ箱

バッチファイルを管理者として実行したときの問題点と回避方法 | サラリーマン IT 技術者の調査レポート

管理者権限で実行されているか判定する

参考:

PowerShell やバッチファイルで管理者特権をチェック – Qiita

管理者権限で実行しているか判定する | ぱそまき

how to check for admin rights – Stack Overflow

How to detect if CMD is running as Administrator/has elevated privileges? – Stack Overflow

バックグラウンドで実行する

参考:

バッチ処理をバックグラウンドで行う | Mすた

バッチファイルを実行する時に黒いコマンドプロンプト画面を表示しない方法 | amaoto-log

まとめ

参考:

バッチファイルの作成 | Let’s プログラミング (javadrive.jp)

タグ:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です