2017-02-20 44 views
0

我想寫一個嵌套for循環的批處理文件。其目的是讀取可以具有空令牌的行並提取作爲令牌之一的電子郵件地址。從文件 示例數據我想讀Windows批處理嵌套對於選項是意外的錯誤

|4|HistoryDates|History Dates Check|Check history data store tables for valid dss_start and dss_end_date combinations|DataStore|History|01 Source System||||||dss_eff_start_date > dss_eff_end_date or (dss_current_ind = 'Y' and dss_eff_end_date <> to_date('2999-12-31','yyyy-mm-dd'))||N||||Y|Email|lijo.samuel 

我已經寫

@echo off 
setlocal enabledelayedexpansion 
setlocal enableextensions 
for /F "usebackq skip=1 tokens=*" %%G in (%LOAD_FILE%) do (
SET LINE="%%G" 
SET "LINE="!LINE:^|="|"!"" 
REM echo !LINE! 
for /F "usebackq delim=| tokens=2,5" %%H in ("!LINE!") do echo email %%~H 

第一循環運行正常,但第二圈出現了錯誤說

enter image description here

+2

您沒有關閉第一個循環 –

+0

此實用程序也會對此有所幫助。 http://www.dostips.com/forum/viewtopic.php?f=3&t=5702 – Squashman

回答

1
代碼

我認爲錯誤信息是關於錯字「delim =」。正如一位同事指出的那樣應該是「delims =」。分隔符'|'沒有逃脫的作品。謝謝你的迴應。