Board logo

标题: 求教if exit的问题 [打印本页]

作者: junyee     时间: 2006-10-12 11:37    标题: 求教if exit的问题

格式:if exist 文件名  待执行的命令
如果有指定的文件,则条件成立,运行命令,否则运行下一句

如果待执行的命令有两条或两条以上的话,应该怎么写?

再问个:
求段语句,使其有如下效果。
如果D:\下有01.txt 02.txt(两个要同时存在)
则打开01.txt 02.txt的内容
否则删除,(在只有01.txt 或02.txt的情况下)01.txt(或02.txt)

盼答~~~
作者: 3742668     时间: 2006-10-12 11:53
1.
if exist 1.txt if exist 2.txt (start "" 1.txt && start "" 2.txt)
2.
@echo off
    dir /a-d 1.txt || goto next
    dir /a-d 2.txt || goto next
    start "" 1.txt & start "" 2.txt
goto :eof

:next
    del 1.txt 2.txt 2>nul
goto :eof
代码均未测试...
作者: junyee     时间: 2006-10-12 11:59
谢谢喽。。。
试一下先。。
作者: namejm     时间: 2006-10-12 12:22
  把2F的代码合并一下,应该能满足楼主的要求:
@echo off
if exist 1.txt if exist 2.txt (start "" 1.txt && start "" 2.txt) else (del 1.txt 2.txt 2>nul)

作者: KIKOOOO     时间: 2006-10-12 12:44
请问||在这里是什么用法?逻辑运算吗?
还有加在1.txt 前的''''这里又是什么意思呢?
作者: namejm     时间: 2006-10-12 12:53
  1、
& [...]        command1 & command2        用来分隔一个命令行中的多个命令。Cmd.exe 运行第一个命令,然后运行第二个命令。
&& [...]        command1 && command2        只有在符号 && 前面的命令成功时,才用于运行该符号后面的命令。Cmd.exe 运行第一个命令,然后只有在第一个命令运行成功时才

运行第二个命令。
|| [...]        command1 || command2        只有在符号 || 前面的命令失败时,才用于运行符号 || 后面的命令。Cmd.exe 运行第一个命令,然后只有在第一个命令未能运行成

功(接收到大于零的错误代码)时才运行第二个命令。
( ) [...]        (command1 & command2)         用来分组或嵌套多个命令。
; 或者 ,        command1 parameter1;parameter2        用来分隔命令参数。
注意
        “与”符号 (&)、管道符号 (|) 以及括号 () 是特殊字符,将它们作为参数传递时,必须在其前面加上转义字符 (^) 或引号。
        如果某个命令成功完成操作,则该命令就返回零 (0) 退出代码或不返回任何退出代码。有关退出代码的详细信息,请参阅 Microsoft Windows Resource Kit。
  2、
START ["title"] [/Dpath] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
      [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
      [/WAIT] [/B] [command/program]
      [parameters]

    "title"     在窗口标题栏中显示的标题。
  ……
  当filename为带空格的路径的时候,必须用引号把路径括起来,此时,为了避免start把路径当作标题,就在start和路径之间插入一个引号对来区别标题与路径。
作者: KIKOOOO     时间: 2006-10-12 12:58
嗯,学习ing。谢谢
作者: NaturalJ0     时间: 2006-10-12 20:48

if [not] exist filename.txt (
        echo 1
        echo 2
        echo 3
  ) else (
        echo 4
        echo 5
        echo 6
)
这个格式可能使用起来方便些。