如何用DOS命令中的if exist来判断并执行相应的命令?

小弟想做一个批处理,要求如下功能,判断d:\123文件夹中是否存在1.txt2.txt3.txt,如果同时存在,则关机,如果没有同时存在,则过一分钟再判断。也就是说每隔一... 小弟想做一个批处理,要求如下功能,
判断d:\123文件夹中是否存在1.txt 2.txt 3.txt,如果同时存在,则关机,如果没有同时存在,则过一分钟再判断。
也就是说每隔一分钟来检查一次是否存在这几个文件,存在就关机。

谢谢
展开
 我来答
ruin_studio
2010-04-13 · TA获得超过127个赞
知道答主
回答量:35
采纳率:0%
帮助的人:63.2万
展开全部
@echo off
echo CopyRight by ruin_studio
rem 3个if exist判断文件是否同时存在 貌似这样比较搓 需要改进
if exist d:\123\1.txt (
if exist d:\123\2.txt (
if exist d:\123\3.txt (
echo exist
shutdown -s -t 0
goto :eof
)else (
echo no exist
)
)
)
setlocal enabledelayedexpansion
rem 下来是定时检测
rem t1是现在时刻
set t1=%time%
rem t2是取现在时刻中的分钟 t3是给现在的分钟加1 t4是下次要执行的时刻
if "%time:~3,1%"=="0" (
set t2=%time:~4,1%
set /a t3=!t2!+1
) else (
set t2=%time:~3,2%
set /a t3=!t2!+1
)
if "%t3%"=="60" (
set /a t4=%t1:~0,2%+1
set /a t4=!t4!%%24
set t4=!t4!:0:%t1:~-5%
) else (
set t4=%t1:~0,2%:%t3%:%t1:~-5%
)
rem 用at命令在t4时刻再次执行批处理
at %t4% /interactive c:\1.bat>nul
pause

把上面的保存为你的c:\1.bat 或者其他路径 只要在批处理改过来就好了 执行就OK了 我简单的测试了 每隔一分钟检查文件 可以的
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式