2013-03-20 92 views
0

如何將for循環中的for循環放置在findstr中?將2 for循環放置在另一個for findtr循環內for

我所擁有的是for循環內的一個findstr裏面的循環。我正確地做括號嗎?

我想在* .map文件裏面找到var1(%% A),它將在行尾。如果找到,我想抓取該行的第二項(%% B),並將該行稱爲var2和第四項(%% C),並將其稱爲var3。然後回顯所有三個變量。

@echo off 


SETLOCAL ENABLEDELAYEDEXPANSION 

for /f "delims=" %%A in (Marks.txt) do (

set var1=!var1!%%A 


findstr /e "!var1!" "*.map" 

if not errorlevel 1 (

for /f "tokens=2" delims=%=%,." %%B do (
set var2=!var2!%%B 
) 

& 

for /f "tokens=4" delims=%=%,." %%C do (
set var3=!var3!%%C 
) 

) 

) 



echo !var1! 
echo !var2! 
echo !var3! 

choice /C X /T 8 /D X > nul 

我收到一個錯誤,窗口關閉,所以我看不懂它。我嘗試使用計時器和暫停,但無法保持cmd提示符處於打開狀態。

+2

閱讀'for'循環。你有一些額外的'''',沒有'in'指定 – 2013-03-20 22:56:05

+0

要解決問題,不要雙擊你的.bat文件(因爲如果有錯誤,它會關閉窗口,正如你所看到的)。打開命令提示符並從那裏運行批處理文件 – 2013-03-20 22:57:25

+0

ahhh,我現在看到了,如果我還有其他問題,請回復。謝謝! – 2013-03-20 22:57:31

回答

0

我修復了我的問題。我有額外的引號,並且缺少(....)部分。