• 締切済み

WindowsXP 記号チェック

いつも大変お世話になっております。 WindowsXP SP3にて下記のバッチファイルがあります。 コード------------------------------------------------------ SETLOCAL ENABLEDELAYEDEXPANSION SET DIR_LIST=D:\TEST\FINSSTR\DIR.txt SET DIR=D:\TEST\FINSSTR\DIR SET FIND_OK_LIST=D:\TEST\FINSSTR\FIND_OK.txt SET FIND_NG_LIST=D:\TEST\FINSSTR\FIND_NG.txt Dir /s %DIR%\*.txt /b > %DIR_LIST% for /f "tokens=* " %%a in (%DIR_LIST%) do call :sub "%%a" echo "処理完了" :sub for /f "delims=" %%T in (%~1) do ( set LINE=%%T findstr "○" %~1 If !errorlevel!==0 ( echo !LINE!>>%FIND_OK_LIST% ) else ( echo !LINE!>>%FIND_NG_LIST% ) ) コード------------------------------------------------------ 該当フォルダ(サブフォルダ含む)にて 【.TXT】の拡張子で"○"の記号がファイル内にあるかをサーチする バッチを作成してみました。 ○があれば、FIND_OK_LISTに ・・・なければFIND_NG_LISTに検索対象ファイル名(フルパス付き)で それぞれ出力するバッチです。 しかし実行してもうまく稼動しません。 DIR.txtまでは作成されています。 何に問題があるのでしょうか? 他のバッチ等をCALLせず、かつVBS等も使わず バッチ1本で実現したいのですが可能でしょうか? ※何かしらのソフトで実施したくもないです。 ご存知の方がいれば、ご教授願いますでしょうか? 以上、何卒宜しくお願い致します。

みんなの回答

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

該当フォルダ配下の.txtファイルから、記号○を含む行を行番号付きで抽出する――ってことだったら、コマンドfindstr一つで処理できます。 調べてみては。

関連するQ&A