根据我的理解,下面的命令(添加了调试行 - 缩进)应该只将 echo 的输出重定向到一个文件,如果它已经存在的话。
但是,似乎if exist %test0%
总是用回显的输出填充文件(如果不存在则创建它)。
有谁知道出了什么问题?
@echo off
type test.bat
set test0="e:\documents and settings\administrator\desktop\test.log"
echo.&echo.
if exist %test0% (echo !!Exists!!) else (echo !!Doesn't Exist!!)
(if exist %test0% echo.&echo.&echo -------------------------------------------------&echo.&echo.)>>%test0%
文件被创建(!)
编辑:上面是一个简化的例子,不幸的是 MSalters 的回答并不能帮助我解决完整的命令(我希望它会)。完整的一行 if 语句是:
if exist %test0% (echo.&echo.&echo -------------------------------------------------&echo.&echo.) else (set /p .=<nul)>>%test0%&set errorlevel=0||set errorlevel=1
我将如何获得if
与文件匹配的输出的任何条件(希望只有一个对文件的引用,即每个if
条件中没有一个),并errorlevel
根据exist
文件的 ance 进行设置?
任何人都可以帮助解决实际的完整命令问题吗?