我正在搜索某些 XML 文件,然后对它们执行命令 ( mvn
),该命令将输出写入tree.out
文件。如果这个文件是空的,那么我知道没有输出(来自mvn
),所以我不打印它。
然而,在循环执行的第一部分之后,它会打印出来set size
,然后简单地打印出下一个循环迭代的命令。
setlocal enabledelayedexpansion
set pomFiles=dir /s/b pom.xml
@echo off
for /f %%f in ('%pomFiles%') do (
findstr "<packaging>pom</packaging>" %%f > nul
if errorlevel 0 if not errorlevel 1 (
cd "%%~dpf"
mvn -q dependency:tree -Dincludes^=%dependency% -DoutputFile^="%%~dpftree.out"
for /f %%i in ("%%~dpftree.out") do set size=%%~zi
if !size! gtr 0 (
type "%%~dpftree.out"
)
del "%%~dpftree.out"
)
)
我认为我的代码中存在导致语句打印的错误,但我自己看不到问题所在。