練習問題1の回答


 このバッチファイルを利用する前に、「TEMP1.TXT」と、「TEMP2.TXT」の二つのファイルを用意してください。
内容は、TEMP1.TXTには「SET MOJI=」、TEMP2.TXTには「SET FILENAME=」とだけ記述してください。
これが無いとエラーになります。


@ECHO OFF
Rem File Name REN_KAI1.BAT
:INPUT
IF NOT EXIST TEMP1.TXT GOTO ERROR
IF NOT EXIST TEMP2.TXT GOTO ERROR
ECHO 検索文字列を入力してください。
ECHO 入力が終わったらCtrlキーを押しながらZキーを押してエンターキーを押してください。
COPY CON TEMP3.TXT<NUL
ECHO 検索ファイル名を入力してください。
ECHO 入力が終わったらCtrlキーを押しながらZキーを押してエンターキーを押してください。
COPY CON TEMP4.TXT<NUL
COPY TEMP1.TXT+TEMP3.TXT TEMP1.BAT<NUL
COPY TEMP2.TXT+TEMP4.TXT TEMP2.BAT<NUL
CALL TEMP1.BAT
CALL TEMP2.BAT
ECHO %FILENAME%というファイルから文字列%MOJI%を検索します。
ECHO 検索結果は以下の通りです。
FIND "%MOJI%" %FILENAME%
DEL TEMP3.TXT
DEL TEMP4.TXT
DEL TEMP1.BAT
DEL TEMP2.BAT
ECHO もう一度検索を行いますか?
ECHO 1=行う、2=行わない
CHOICE /C:12 <NUL
IF ERRORLEVEL 2 GOTO END
IF ERRORLEVEL 1 GOTO INPUT
:ERROR
ECHO エラーです。必要なファイルが見つかりません。
:END
ECHO 検索を終了しました。


 このようになります。
COPYコマンドの出力を「NUL」にリダイレクトすることで、「1個のファイルをコピーしました」という文字列の出力を抑制しています。
また、同様にCHOICEコマンドの出力も「NUL」にリダイレクトしています。

このWindowを閉じる

バッチファイル講座の目次に戻る

MS-DOSの部屋に戻る

トップページに戻る