[前の記事]« NT系:最大値の取得
[次の記事]Win98:日付をファイル名に使うには »

関連オンラインソフト配布サイト:
Vector>ダウンロード(top) |>MS-DOSまたは汎用 | >WindowsVista/XP/2000/NT

▲カテゴリー「FIND,FINDSTR,SORT…テキストファイル内文字列の操作」索引へ

FINDでの文字列検出結果をERRORLEVELで返す方法は?


360) 文字列検索 及び 戻り値セット かず 2003/07/02(水) 18:25


あるファイルに特定の文字列が存在すれば戻り値 0(EXIT 0)
存在しなければ 戻り値 1(EXIT 1)を返すDOSバッチを作成したいのですが、具体的にどうのような形式になるでしょうか。
FINDで検索して存在すれば EXIT 0 すればよいのではと考えていますが、”存在すれば”部分をどう判断させればよいのでしょうか?
IF だとERRORLEVEL などしか判断対象にできないようなのですが・・・

362) Re:文字列検索 及び 戻り値セット Cipher 2003/07/02(水) 18:55


>あるファイルに特定の文字列が存在すれば戻り値 0(EXIT 0)
>存在しなければ 戻り値 1(EXIT 1)を返すDOSバッチを作成したいのですが、具体的にどうのような形式になるでしょうか。
>FINDで検索して存在すれば EXIT 0 すればよいのではと考えていますが、”存在すれば”部分をどう判断させればよいのでしょうか?
>IF だとERRORLEVEL などしか判断対象にできないようなのですが・・・


Windows2000なら、やりたいと思われることとちょっと違いますが
以下のようにすればできました。

※文字列の検索ではなく、以下の例の場合ファイルの有無ですが、、、

DIR /B | FIND /N /C "対象ファイル">Exist.txt
SET /P EXIST=<Exist.txt
DEL Exist.txt
echo."対象ファイル"有無:%Exist%

のようにしてやったことがあります。
DIR のところを TYPE にすればいけるかもしれません。


364) Re:文字列検索 及び 戻り値セット じゃく 2003/07/02(水) 19:38


>あるファイルに特定の文字列が存在すれば戻り値 0(EXIT 0)
>存在しなければ 戻り値 1(EXIT 1)を返すDOSバッチを作成したいのですが、具体的にどうのような形式になるでしょうか。
>FINDで検索して存在すれば EXIT 0 すればよいのではと考えていますが、”存在すれば”部分をどう判断させればよいのでしょうか?
>IF だとERRORLEVEL などしか判断対象にできないようなのですが・・・

OSが不明なのですが、XPで実験してみたところ、
find で指定した文字列が存在すると errorlevel が 0、
存在しないと errorlevel が1だったので
そのままセットしています。

find "特定の文字列 " hoge.txt
exit %errorlevel%
 
 


カテゴリー「FIND,FINDSTR,SORT…テキストファイル内文字列の操作」索引へ

 

カテゴリー一覧

FPCU/FPCDIY QUICK LINK online
この上の各ジャンル名をクリックすると、下のウィンドウが切り替わります▼


=リンク集のインデックスはこちら=

資料書籍

About

2003年07月02日 16:22に投稿されたエントリーのページです。

ひとつ前の投稿は「NT系:最大値の取得」です。

次の投稿は「Win98:日付をファイル名に使うには」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

This site is powered by Six Apart
Movable Type 3.33-ja
このブログについて | 運営:有限会社メディアポート