【bat】バッチ処理のテンプレート

BAT,CODE

Windowsのバッチ処理でよく使用するコマンドのテンプレートです。

内容 ①処理中のウィンドウ表示オフ
②文字コードの設定
③戻り値判定
④日時の表示
⑤カレントディレクトリ名の取得
⑥ネットワークドライブの割り当て
⑦空ファイルの作成

①処理中のウィンドウ表示オフ

通常、バッチファイルの先頭行に記述します。

@echo off

②文字コードの設定

文字コードを明示的に設定する場合使用します。

# UTF8に設定する
chcp 65001

# SJISに設定する
chcp 932

③戻り値判定

直前の終了コードが0だったら"正常"と判定します。

if %errorlevel% == 0 echo "正常"

④日時の表示

年月日をYYYYMMDD形式で表示する

echo %date:~0,4%%date:~5,2%%date:~8,2%

時分秒をhhmmss形式で表示する

echo %time:~0,2%%time:~3,2%%time:~6,2%

ファイル名が今日(YYYYMMDD)の空ファイルを作成する

echo on > %date:~0,4%%date:~5,2%%date:~8,2%

変数を利用する場合

set YMD=%date:~0,4%%date:~5,2%%date:~8,2%
echo on > %YMD%

ファイル名が現在時刻(hhmmss)の空ファイルを作成する

echo on > echo %time:~0,2%%time:~3,2%%time:~6,2%

変数を利用する場合

set TIME=%time:~0,2%%time:~3,2%%time:~6,2%
echo on > %TIME%

⑤カレントディレクトリ名の取得

for /f %%i in ('chdir') do set DIR=%%i
echo %DIR%

以下の記述の場合、末尾に"\"が入ります。

for /f %%i in ('chdir') do set DIR=%%i
echo %DIR%

⑥ネットワークドライブの割り当て

空いているネットワークドライブを割り当てます。

pushd \\パスを記述

割り当てたネットワークドライブを切断します。
明示的に記述しなくてもバッチが終了すれば切断されます。

popd

⑦空ファイルの作成

0バイトのファイルを作成します。

type nul > null.txt

BAT,CODE

Posted by junichi