Board logo

标题: [其他] [已解决]批处理如何判断指定文件夹里是否同时存在多个指定文件 [打印本页]

作者: smallbear    时间: 2010-4-12 18:18     标题: [已解决]批处理如何判断指定文件夹里是否同时存在多个指定文件

本帖最后由 pcl_test 于 2016-11-15 08:56 编辑

小弟想做一个批处理,要求如下功能,
判断d:\123文件夹中是否存在1.txt 2.txt 3.txt,如果同时存在,则关机,如果没有同时存在,则过一分钟再执行这个操作。

谢谢。

[ 本帖最后由 smallbear 于 2010-4-12 20:52 编辑 ]
作者: GNU    时间: 2010-4-12 19:00

总之都要关机,你想整谁?
作者: jcy0307    时间: 2010-4-12 19:11

  1. @echo off
  2. :1
  3. cls
  4. if exist d:\123\1.txt (goto 2) else (echo 正在延时... & ping -n 61 127.1>nul & goto 1)
  5. :2
  6. if exist d:\123\2.txt (goto 3) else (echo 正在延时... & ping -n 61 127.1>nul & goto 1)
  7. :3
  8. if exist d:\123\3.txt echo 运行shutdows -a 可取消关机!& shutdown -s -t 100
复制代码

[ 本帖最后由 jcy0307 于 2010-4-12 19:14 编辑 ]
作者: x9tiancmd    时间: 2010-4-12 19:11

楼上的GNU兄台把我的想法全说出来了,   同问一声......

          咱们无法阻止你做坏事,  但绝不会帮助人助坏事,   所以,你也还是别指望有人回复了


                 三楼的做法让我无语○( ̄﹏ ̄)○

[ 本帖最后由 x9tiancmd 于 2010-4-12 19:14 编辑 ]
作者: jcy0307    时间: 2010-4-12 19:13

  1. @echo off
  2. setlocal EnableDelayedExpansion
  3. :loop
  4. set a=0
  5. for /r d:\123\ %%i in (*.txt) do set /a a=!a!+1
  6. if "!a!"=="3" (goto haha) else (ping -n 61 127.1>nul & goto loop)
  7. :haha
  8. cls
  9. echo 运行shutdows -a 可取消关机!& shutdown -s -t 100
  10. pause
复制代码
这个只能检测123文件夹是不是存在3个文本文档 不能检测文件名

[ 本帖最后由 jcy0307 于 2010-4-12 19:16 编辑 ]
作者: jcy0307    时间: 2010-4-12 19:17

看来我做错事了哦!!
作者: smallbear    时间: 2010-4-12 19:22

我的意思是如果同时存在三个文件,则关机,如果没有同时存在,则过一分钟再来判断。总之就是每隔一分钟来判断一次,如果同时存在就关机,没有同时存在就继续循环。
作者: todayambition    时间: 2010-4-12 19:33     标题: 回复 3楼 的帖子

代码写得很好哇 逻辑清晰
作者: hanyeguxing    时间: 2010-4-12 19:40

在任务计划里直接添加
  1. cmd /c if exist d:\123\1.txt if exist d:\123\2.txt if exist d:\123\3.txt shutdown -s -f -t 0
复制代码
任务属性:仅在登陆后运行,类型自己选,重复为每1分钟
作者: smallbear    时间: 2010-4-12 20:52

谢谢楼上各位提供帮助的朋友




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