需要删除文件然后进一步处理。
del file.html
echo ^<center^>^<a href="abc.html"^>ABC^</a^>^</center^> >> file.html
......
echo ^<center^>^<a href="xyz.com"^>XYZ^</a^>^</center^> >> file.html
第一次收到此消息Could Not Find C:\Users\file.html
但进一步处理以写入文件。我想知道,如果找不到要删除的文件,是否可以在任何阶段停止处理?
答案 0 :(得分:1)
您可以先检查文件是否存在,然后继续执行其他命令。
if exist file.html (
del file.html
echo ^<center^>^<a href="abc.html"^>ABC^</a^>^</center^> >> file.html
echo ^<center^>^<a href="xyz.com"^>XYZ^</a^>^</center^> >> file.html
)
答案 1 :(得分:1)
根据这个问题 - Can I have an IF block in DOS batch file? - DOS可以通过
进行分支if <statement> (
do something
) else (
do something else
)
然后从this MS Support article开始,您可以将EXIST
和NOT EXIST
与文件一起使用。所以我的猜测是:
if EXIST file.html del file.html
只是再见,如果你想在bash中做到这一点(通过Windows上的Cygwin),那么由于bash比DOS更多地支持这些东西,这是相当容易的:
f="file.html";
if [ -e "$f" ] ; then
rm "$f";
fi
您似乎是逐行将内容附加到文件中。如果这些行中没有处理,您可以concatenate them using copy:
copy chunkA.html+chunkB.html+chunkD.html file.html
这提供了将包含数据的文件与拼接在一起的脚本分开的显着优势。