Board logo

标题: [其他] [已解决]批处理怎样判断同时具备两个条件? [打印本页]

作者: zhoubin    时间: 2011-2-1 18:02     标题: [已解决]批处理怎样判断同时具备两个条件?

请教:批处理判断同时具备两个条件
我写了几个判断,感觉不太理想,毕竟我是菜鸟,故请高手批改指正一下。。。。谢谢!!!

代码一:
  1. IF Exist R:\PETOOLS\程序\ (IF EXIST %Windir%\System32\W0W64.dll (exit))>NUL 2>NUL
复制代码
代码解释:如果存在R:\PETOOLS\程序\文件夹,同时存在%Windir%\System32\W0W64.dll 文件,就退出。。。。

代码二:
  1. IF Exist c:\boot\bcd (IF Exist c:\bootmgr (MKDIR c:\boot\bcd_bak))>NUL 2>NUL
复制代码
代码解释:如果存在c:\boot\bcd 文件,同时存在c:\bootmgr 文件,就创建c:\boot\bcd_bak文件夹。。。

代码三:
  1. IF Exist c:\boot\bcd_bak\bcd.bak (IF not Exist c:\boot\bcd (echo f|xcopy /h c:\boot\bcd_bak\bcd.bak c:\boot\bcd))
复制代码
代码解释:如果存在c:\boot\bcd_bak\bcd.bak ,同时不存在c:\boot\bcd文件 ,就复制c:\boot\bcd_bak\bcd.bak 文件到c:\boot\文件夹下,同时改名为bcd文件。。。。

顺祝各位坛友,新春快乐!!!

[ 本帖最后由 zhoubin 于 2011-2-1 21:20 编辑 ]
作者: hanyeguxing    时间: 2011-2-1 18:54

为什么觉得不理想呢?
作者: zhoubin    时间: 2011-2-1 19:13

第一句没有正常执行。。。。
存在R:\PETOOLS\程序\文件夹,同时也存在%Windir%\System32\W0W64.dll 文件,却没有正常退出,而是继续执行下面的语句去了。。。。

第二句和第三句,好像没错,但是我心里没底,想请老大过目,指正一下。。。。
作者: hanyeguxing    时间: 2011-2-1 19:23

  1. IF Exist R:\PETOOLS\程序\ IF EXIST %Windir%\System32\W0W64.dll exit
复制代码
语法本身没有错误,重新确认 R:\PETOOLS\程序\ 和 %Windir%\System32\W0W64.dll
作者: zhoubin    时间: 2011-2-1 21:23     标题: 回复 4楼 的帖子

感谢老大,已解决了。。。。
原来win7 64位系统文件名是区分大小写的。。。。。
W0W64.dll应为wow64.dll,就OK了。。。。

顺祝寒夜孤星老大及各位坛友,春节快乐!!!

[ 本帖最后由 zhoubin 于 2011-2-1 21:26 编辑 ]
作者: Hello123World    时间: 2011-2-5 16:14

原来win7 64位系统文件名是区分大小写的。。。。。
是不是真的,老爷机用不了64位的操作系统……




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2