« DOSバッチファイル① : FOR文(ファイル名一覧表示 その1) | トップページ | DOSバッチファイル③ : FOR文(ファイル名一覧を表示 その2) »

2010年5月30日 (日)

DOSバッチファイル② : 文字列処理、 IF文

DOSバッチ記事の目次はここです。


昨日に続いてバッチファイルについて調べた。 分かったことのメモ。

■文字列の処理

バッチファイル 実行結果

@ECHO OFF
ECHO ----------------- 文字の連結
SET    x=
c:\bin
ECHO %x%
SET    y=%x%
\awk
ECHO %y%


ECHO ----------------- 文字列の置換え1(拡張子変更)

SET   x=c:\bin\test.txt
SET   y=%x
:txt=csv%
ECHO %x% ---^> %y%

ECHO ----------------- 文字列の置換え2(拡張子削除)
SET   x=c:\bin\test.txt
SET   y=%x:
.txt=%
ECHO %x% ---^> %y%

Dos_bat2_3

■IF文

 IF ERRORLEVEL 数値 コマンド [パラメーター]
  注意:IFより前に実行されたプログラムの終了"数"が"数値以上の場合条件成立。
     等号比較は%ERRORLEVEL%==1

 IF 文字列==文字列   コマンド [パラメーター]
   変数が存在しない場合のエラーを回避する方法:ピリオドを追加 (例) %1==ABC → %1
.==ABC.

 IF EXIST ファイル名   コマンド [パラメーター]
  ディレクトリの存在をチェックしたい時にはパスの最後に「
\」を付ける
    IF   EXIST   C:\TEST ECHO C:\TESTフォルダは存在

■参考にしたリンク&関連事項

 ・PC Users' Guide Forums  →  DOS/V&Windowsコマンド・プロンプト・リファレンス  → バッチファイルの制御用コマンド
  → Windows NT/2000/XPのバッチファイル文法上の拡張機能
    ・Windows Script Programmingコマンドラインで、フォルダとファイルを判別する
 ・HISA-NET → DOSコマンド一覧
 ・COMMAND.COM cmd.exe Windows PowerShell について:Wikipedia→Windows PowerShell
 ・マイクロソフトが提供するWindowsとUNIXの相互運用支援ソフト:Subsystem for UNIX-based Applications(SUA)

■IF文のHELP

 IF文はNT系でかなり機能が拡張されています。
 コマンドウィンドを開き
 
 C:\>IF /?
 と入力するとIF文の全て(?)の機能が表示されます。

昨日と今日わかったことで、取りあえずやりたいことは出来そう

« DOSバッチファイル① : FOR文(ファイル名一覧表示 その1) | トップページ | DOSバッチファイル③ : FOR文(ファイル名一覧を表示 その2) »

パソコン・インターネット」カテゴリの記事