[INDEX] [TOP]

バッチ関係のTIPS

ここでは、Windows2000/XP のコマンドプロンプトでバッチファイルを扱う時のTIPSや単純なバッチファイルを紹介します。

echo でいろいろな出力

echo コマンドでのいろいろな出力の方法を紹介します。

(1) 改行の出力方法

echo だけだと ECHO は <ON> です。 って出ちゃいます。以下のいずれの方法でも可。私は":"が好きです。
echoの次に空白を入れないこと!

echo:
echo/
echo¥

(2) バッチの中で"%1"などを表示する方法

バッチの中で %1 や %path% は引数や環境変数の内容に置き換えられてしまいます。パーセント記号そのものを表示したい場合は % を %% にします。


echo off
echo %%1 の内容は %1 です。
echo echo %%path%% の実行結果は...
echo %path%
  

(4) "<>|&^"を表示する方法

これらの特殊記号は"<>|&^" の前に "^"をつけて記述します。

echo ^<  → <
echo ^>  → >
echo ^|  → |
echo ^&  → &
echo ^^  → ^

echo ^<^^_^^^> → <^_^>

n秒間停止する(sleepコマンド)

結構需要があるようです。標準のコマンドプロンプトのコマンドでも%time%の比較でできそうですがここでは WSH を使ったやり方です。


@echo off
REM Sleep.bat [秒数]
set /a wtime=(%1+0)*1000
echo WScript.Sleep %wtime% > tmp.vbs
cscript //NoLogo tmp.vbs 
del tmp.vbs

ファイルが0バイトか判定する

NT/2000系では標準のコマンドでファイルサイズを確認出来ます。このサンプルでは環境変数 size にファイルサイズが入っています。


@echo off
if "%1"=="" goto error
for %A in (%1) do set size=%‾zA
IF %size% EQU 0 goto PROC_01
goto PRC_02

:PRC_01
echo 0バイトファイルです
goto END

:PRC_02
echo 0バイトファイルではないです
goto END

:error
echo 引数に確認したいファイル名を指定してください。

:END


Copyright (c) 2003-2007 じゃく
last update:2003-09-21