中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 求教if exit的问题 上一主题 | 下一主题
junyee
中级用户




积分 253
发帖 112
注册 2006-5-31
状态 离线
『楼 主』:  求教if exit的问题

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

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

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

盼答~~~

2006-10-12 11:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 2 楼』:  

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
代码均未测试...

2006-10-12 11:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
junyee
中级用户




积分 253
发帖 112
注册 2006-5-31
状态 离线
『第 3 楼』:  

谢谢喽。。。
试一下先。。

2006-10-12 11:59
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 4 楼』:  

  把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)




尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-10-12 12:22
查看资料  发短消息 网志   编辑帖子  回复  引用回复
KIKOOOO
初级用户





积分 34
发帖 12
注册 2006-9-25
状态 离线
『第 5 楼』:  

请问||在这里是什么用法?逻辑运算吗?
还有加在1.txt 前的''''这里又是什么意思呢?

2006-10-12 12:44
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 6 楼』:  

  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和路径之间插入一个引号对来区别标题与路径。



尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-10-12 12:53
查看资料  发短消息 网志   编辑帖子  回复  引用回复
KIKOOOO
初级用户





积分 34
发帖 12
注册 2006-9-25
状态 离线
『第 7 楼』:  

嗯,学习ing。谢谢

2006-10-12 12:58
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
NaturalJ0
银牌会员




积分 1181
发帖 533
注册 2006-8-14
状态 离线
『第 8 楼』:  


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

2006-10-12 20:48
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: