2013-08-27 40 views
1

我想一個過程的輸出傳遞到一個for循環使用管道一個批處理文件的輸出傳遞到一個for循環

type %1% | findstr /R /V "Test" | for /F "tokens=*" %%i IN ('more') DO @echo %%i 

,但我不知道要放什麼地方( 'more'),以便它從findstr命令讀取輸出。這甚至有可能嗎?或者我必須將輸出保存到文件中,然後在完全不同的批處理程序中讀入文件?請幫忙。

+0

將'%1%'更改爲'%1'或正確處理引號使用'「%〜1」' – foxidrive

回答

1
for /f "delims=" %%a in ('findstr /rv "Test" "%1%" ^| more') do echo %%a 
1

for循環不能STDIN閱讀,所以你需要把要處理到括號的輸出命令:

for /F "tokens=*" %%i IN ('type %1% ^| findstr /R /V "Test"') DO @echo %%i 

注意,管道必須在子shell(^|)進行轉義。

相關問題