這裏是我的代碼嵌套的for循環變量批次
set list=test
del /Q failed_tests.txt
FOR %%a IN (%list%) DO (
%%a > output_%%a.txt
FINDSTR /C:"[----------]" output_%%a.txt > check_run.txt
for /f "delims=" %%x in (check_run.txt) do (
set content=%%x
)
if not %content%=="[----------]" (
echo Test Does Not Run >> failed_tests.txt
) else (
echo Test Runs >> failed_tests.txt
)
)
type failed_tests.txt
content
似乎總是被設置爲"[----------]"
。但是,當output_test.txt
/check_run.txt
不包含"[----------]"
它應該被設置爲一個空字符串。
1.在for/f「delims =」%% x'循環之前強制'set「content =」'。 2.您需要啓用[延遲擴展](http://ss64.com/nt/delayedexpansion.html),然後使用「if not」!content!「==」[---------- ]「'(注意適當的引用)。強制'echo ON'看看會發生什麼... – JosefZ
工作,謝謝! – emilk
@JosefZ如果我想在執行類似操作的else語句中添加一個for循環。我是否需要創建另一個「內容」,如變量或?我是否需要再次啓用延遲擴展? – emilk