无忧启动论坛

标题: BAT 指令 搜寻 特定文件!? [打印本页]

作者: 2011回忆爱情    时间: 2012-2-28 00:10
标题: BAT 指令 搜寻 特定文件!?
如果 发错版区 请各位见谅


@echo off  
if not exist e:\test.txt shutdown -s -t 0


以上 指令 限定了盘符 E

若 我想改成 C to Z 等24个盘符 该如何做呢

是否继续使用 IF 或 该改用 FOR

[ 本帖最后由 2011回忆爱情 于 2012-2-28 23:54 编辑 ]
作者: 2010_zheng    时间: 2012-2-28 01:01
for %%A in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (if not exist %%A:\test.txt shutdown -s -t 0)

可是,条件予盾了吧?不可能每个盘下都有test.txt,所在自动关机在所难免。
作者: 2011回忆爱情    时间: 2012-2-28 07:28
我记忆中 正常安装路径于 C 的 WinXP  应该会默认 系统槽 为C 对吧


= = = = = = = = =
嗯....

我错了 应该是要去除 A ~ C 的

若 推断为 D to Z 这些盘 任何一个盘 根目录有 对应档案:TEST.txt

则 产生 C:\bbb.txt


若 C:\bbb.txt 不存在 | 执行关机
若 C:\bbb.txt  存在 | 删除 C:\bbb.txt | 结束 .bat



这样是否符合逻辑呢

以下 两种写法 是否完善.... 请 大虾指点

若 依照以下写法 我想让其 判断有 test.txt

产生 文件 C:\bbb.txt + C:\aaa.txt 双文件 又该如何改动呢
@echo off
color 2a
title 文件搜索
for %%A in (D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
dir /s/b/a-d %%A:\test.txt>>C:\bbb.txt
)
if not exist C:\bbb.txt shutdown -s -t 0
if exist C:\bbb.txt del C:\bbb.txt


= = = = = = = = = = = = = = = = = = = = = =
发觉 我这样的写法 会写入档案的情况....

可否用 回圈搜寻 各曹 TEST.txt
若有搜寻到 (有搜到 立即 跳出回圈 类似 goto指令这样跳到 结束)
若无 则 执行关机
是否这样会更好

@echo off
color 2a
title 文件搜索
for %%A in (D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
if exist %%A:\test.txt goto :oo
)
:xx
cls
shutdown -s -t 0

:oo
cls
end

[ 本帖最后由 2011回忆爱情 于 2012-2-28 10:17 编辑 ]
作者: pznpt    时间: 2012-2-28 10:32
  1. @echo off
  2. color 2a
  3. title 文件搜索
  4. for %%A in (D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  5.     if exist %%A:\test.txt set ok=1&goto :eof
  6. )
  7. if not defined ok shutdown -s -t 5 -c "关机"
复制代码


繁体字看得好累。。。
作者: 2010_zheng    时间: 2012-2-28 14:02
原帖由 2011回忆爱情 于 2012-2-28 07:28 发表
可否用 回圈搜寻 各曹 TEST.txt
若有搜寻到 (有搜到 立即 跳出回圈 类似 goto指令这样跳到 结束)
若无 则 执行关机
是否这样会更好


你自己写的最后一段代码可以。
作者: 2011回忆爱情    时间: 2012-2-28 23:54
呵呵  感謝 各位 路過 大蝦指點

謝謝




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3