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" 在窗口标题栏中显示的标题。
  ……

  当filename为带空格的路径的时候,必须用引号把路径括起来,此时,为了避免start把路径当作标题,就在start和路径之间插入一个引号对来区别标题与路径。

作者: KIKOOOO     时间: 2006-10-12 12:58
嗯,学习ing。谢谢

作者: NaturalJ0     时间: 2006-10-12 20:48

if exist filename.txt (
echo 1
echo 2
echo 3
) else (
echo 4
echo 5
echo 6
)


这个格式可能使用起来方便些。