2012年11月20日火曜日

[Script][BAT]条件分岐をする(if)

バッチファイルで if を使った条件分岐をします。

バッチファイルでifの条件分岐をする @echo off
Set FLName=D\log\log1.log

:: 引数の文字列チェック
:: 引数がない場合左辺が空の文字列になってしまってエラーとなるので、よく.をつけたり""で囲ったりして空の文字列にならないようにします。
if %1.==. echo 引数なしで実行されました。

:: ファイルの存在有無
if exist %FLName% (
echo %FLName% がありました。
) else (
echo %FLName% はありませんでした。
)

:: フォルダの場合にはカレントディレクトリを示す . や nul をつけて評価すると明示的にフォルダの存在確認ができます。
if not exist D:\log\.   mkdir D:\log
if not exist D:\log\nul mkdir D:\log

:: キー入力をする。
:Loop
echo ------------------
echo メニュー
echo 1. バックアップ
echo 2. リストア
echo 3. 終了
echo ------------------
set /p INPUT="選択してください[1-3] >"

echo %INPUT%.

if "%INPUT%"=="1" goto Backup
if "%INPUT%"=="2" goto Restore
if "%INPUT%"=="3" goto End
goto Loop

:Backup
::バックアップ処理を行う
goto End

:Restore
::リストア処理を行う
goto End

:End
:: find コマンドでは文字列を探しますが、見つからなかった場合やエラー終了した場合にはコマンドの戻り値は1以上の値を返します。
dir /s /b | find ".jpg"
if errorlevel 1 echo JPG File not Exist.

pause


Script のページに戻る

0 件のコメント:

コメントを投稿