2012-03-07

Windows バッチファイル : 二重ループの内側のループを抜けたい


Windows バッチファイルで二重ループの内側のループを抜けたい
  • csv ファイルを読み込む
  • コンソールに出力する
  • 一項目一行に表示する
  • 項目に特定の文字(「foo」)が出現したら、同行のそれ以降の項目は表示しない



○ CSV ファイルを読み込んでいる際に、特定の文字が出現したら同行のそれ以降の項目は表示しない

@echo off

setlocal ENABLEDELAYEDEXPANSION
FOR /F "delims=" %%A IN (sample.csv) DO (
    set x=0
    FOR %%a IN (%%A) DO (
        IF %%a EQU "foo" (
            set x=1
        )
        IF "!x!" EQU "0" (
            echo %%a
        )
    )
)
endlocal
単にフラグ立てて、処理を回避しているだけ。



◇ 環境

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

0 件のコメント:

コメントを投稿