谁会批处理命令需要复制的文件不存在时的容错处理?

来源:百度知道 编辑:UC知道 时间:2024/06/08 01:11:52
曾经提问过一个问题,关于取TEMP目录下最新的一个文件,
http://zhidao.baidu.com/question/55947624.html
我得到了合理的答案,并可以正确执行。可是实际使用中发现,如果TEMP目录下当前没有LOLI*.dmp,那么就会从TEMP中复制出大量的垃圾文件来。应该是需要条件判断吧?先判断找到文件否,是则继续执行,否则提示没有此文件并退出。如何能解决这个烦人的问题呢?谢谢!

if exist "%tmp%\LOLI*.dmp" (pushd %tmp%& copy LOLI*.dmp 你的目的文件夹)

我看了你以前问的那个问题,有了最佳答案。把这个问题跟那个最佳答案结合起来就是:
@echo off
if not exist "%tmp%\LOLI*.dmp" echo 没发现LOLI*.dmp&pause&goto :eof
::上面这句的意思是如果temp文件夹中不存在loli*.dmp就直接跳到本批处理的结尾,从而不执行下面的批处理
for /f "delims=" %%a in ('dir/a/b/o-d "%temp%\LOLI*D.ryy"') do set a=%%a&goto a
:a
copy "%a%" "."
pause