【发布时间】:2013-02-05 08:10:36
【问题描述】:
根据我的理解,以下命令(添加了调试行 - 缩进)应该只将 echo 的输出重定向到一个文件,如果它已经存在的话。
但是,if exist %test0% 似乎 总是 用 echo 的输出填充文件(如果不存在,则创建它)。
有谁知道怎么回事?
@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 设置文件的existance?
任何人都可以帮助解决实际的完整命令问题吗?
【问题讨论】:
标签: redirect if-statement cmd exists