当前位置:  开发笔记 > 编程语言 > 正文

如果存在计划任务

如何解决《如果存在计划任务》经验,为你挑选了1个好方法。

我创建了一个批处理文件来检查是否存在计划任务,如果它们没有创建它们,但是,即使作业不存在,我的if exists规则似乎也总是如此.

有任何想法吗?

::Check Rule
IF EXIST SchTasks /QUERY /TN "Cache Task Morning"  ( 
    echo ! Morning rule in place!
    GOTO NEXT 
) ELSE IF NOT EXIST SchTasks /Create /SC DAILY /TN "Cache Task Morning" /TR "C:\Cache Clear\Cache Clear.bat" /ST 09:00 

:NEXT
IF EXIST SchTasks /QUERY /TN "Cache Task Afternoon"  ( 
    echo ! Afternoon rule in place!
    GOTO NEXT TWO
) ELSE IF NOT EXIST SchTasks /Create /SC DAILY /TN "Cache Task Afternoon" /TR "C:\Cache Clear\Cache Clear.bat" /ST 15:00 

:NEXT TWO
IF EXIST SchTasks  /QUERY /TN "Cache Task Evening"  ( 
    echo ! Evening rule in place!
    GOTO CLEAR CACHE 
) ELSE IF NOT EXIST SchTasks /Create /SC DAILY /TN "Cache Task Evening" /TR "C:\Cache Clear\Cache Clear.bat" /ST 18:00 

elzooilogico.. 13

您不能使用if existschtasks,这不是目的if exist.

使用其中之一

schtasks /query /TN "task_name" >NUL 2>&1 || schTasks /Create /SC DAILY /TN "task_name" ...

要么

schtasks /query /TN "task_name" >NUL 2>&1
if %errorlevel% NEQ 0 schTasks /Create /SC DAILY /TN "task_name" ...

>NUL 2>&1抑制成功或错误输出,但我们已errorlevel设置0成功,0如果失败.

两者都很相似.在第一种情况下,我们使用cmd &&||运算符,这&&意味着上一个命令成功,||意味着前一个命令失败.

如在

mycommand && echo success || echo error

因为我们只想测试失败,所以只使用||(上一个命令失败).



1> elzooilogico..:

您不能使用if existschtasks,这不是目的if exist.

使用其中之一

schtasks /query /TN "task_name" >NUL 2>&1 || schTasks /Create /SC DAILY /TN "task_name" ...

要么

schtasks /query /TN "task_name" >NUL 2>&1
if %errorlevel% NEQ 0 schTasks /Create /SC DAILY /TN "task_name" ...

>NUL 2>&1抑制成功或错误输出,但我们已errorlevel设置0成功,0如果失败.

两者都很相似.在第一种情况下,我们使用cmd &&||运算符,这&&意味着上一个命令成功,||意味着前一个命令失败.

如在

mycommand && echo success || echo error

因为我们只想测试失败,所以只使用||(上一个命令失败).

推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有