标题: [其他] [已解决]批处理如何判断指定文件夹里是否同时存在多个指定文件 [打印本页]
作者: 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
- @echo off
- :1
- cls
- if exist d:\123\1.txt (goto 2) else (echo 正在延时... & ping -n 61 127.1>nul & goto 1)
- :2
- if exist d:\123\2.txt (goto 3) else (echo 正在延时... & ping -n 61 127.1>nul & goto 1)
- :3
- 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
- @echo off
- setlocal EnableDelayedExpansion
- :loop
- set a=0
- for /r d:\123\ %%i in (*.txt) do set /a a=!a!+1
- if "!a!"=="3" (goto haha) else (ping -n 61 127.1>nul & goto loop)
- :haha
- cls
- echo 运行shutdows -a 可取消关机!& shutdown -s -t 100
- 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
在任务计划里直接添加- 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 |