标题: [其他] 批处理创建计划任务问题 [打印本页]
作者: qq8899399 时间: 2024-8-16 00:01 标题: 批处理创建计划任务问题
想用批处理创建一个计划任务。 触发器 为 当从用户会话断开连接时
https://learn.microsoft.com/zh-c ... nds/schtasks-create里没查到相关选项
schtasks create
官方触发器只有这些
/sc <scheduletype> 指定计划类型。 有效值包括:
MINUTE - 指定任务运行前的分钟数。
HOURLY - 指定任务运行前的小时数。
DAILY - 指定任务运行前的天数。
WEEKLY - 指定任务运行前的周数。
MONTHLY - 指定任务运行前的月数。
ONCE - 指定该任务在指定的日期和时间运行一次。
ONSTART - 指定任务在每次系统启动时运行。 可以指定开始日期,也可以在系统下次启动时运行任务。
ONLOGON - 指定任务在用户(任何用户)登录时运行。 可以指定一个日期,也可以在用户下次登录时运行任务。
ONIDLE - 指定任务在系统空闲时间段运行。 可以指定一个日期,也可以在系统下次空闲时运行任务。
ONEVENT - 指定任务基于与系统事件日志中的信息(包括 EventID)匹配的事件运行。
作者: Batcher 时间: 2024-8-16 08:48
回复 1# qq8899399
使用图形界面创建任务计划,手工设置好所有需要的条件,然后导出xml,将来用命令调用xml文件去创建任务计划:- schtasks /create /ru System /tn "Task for bbs.bathome.net" /xml "C:\BatHome.xml"
复制代码
作者: qq8899399 时间: 2024-8-16 09:01
Origin_MD_Data:JTVCYiU1RCV1NTZERSV1NTkwRCUyMCU1QnVybCUzRGh0dHAlM0EvL3d3dy5iYXRob21lLm5ldC9yZWRpcmVjdC5waHAlM0Znb3RvJTNEZmluZHBvc3QlMjZwaWQlM0QyODMxMTYlMjZwdGlkJTNENjk1NjUlNUQyJTIzJTVCL3VybCU1RCUyMCU1QmklNURCYXRjaGVyJTVCL2klNUQlMjAlNUIvYiU1RCUwQSUwQSUwQSUwQSUwQSV1NjExRiV1OEMyMiV1NTZERSV1NTkwRCV1MzAwMnhtbCV1NzdFNSV1OTA1MyV1MzAwMiV1NEY0NiV1OEZEOSV1NjgzNyV1NTNDMiV1NjU3MCV1ODFFQSV1NUI5QSV1NEU0OSUyMCV1NUMzMSV1NkNBMSV1NkNENSV1NEU4NiV1MzAwMiUwQSUwQSV1NEUwRCV1OEZDNyV1NjYyRiV1NEUwRCV1NjYyRiV1NzcxRiV1NzY4NCV1NTNFQSV1NjcwOXhtbCV1NjVCOSV1NUYwRiV1NjI0RCV1ODg0QyV1NTU0QSV1MzAwMiUwQSUwQSUyMCUyMCUyMCUyMCUwQSUwQSUwQQ==回复 [url=2#]http://www.bathome.net/redirect.php?goto=findpost&pid=283116&ptid=69565]2#[/url][/url] Batcher
感谢回复。xml知道。但这样参数自定义 就没法了。
不过是不是真的只有xml方式才行啊。
作者: hfxiang 时间: 2024-8-16 10:48
本帖最后由 hfxiang 于 2024-8-16 12:13 编辑
回复 3# qq8899399
可以不用xml,在命令行窗口下试试如下指令- "C:\Windows\SysWOW64\schtasks.exe" /Create /SC ONCE /TN "单次定时23:59关机" /TR "C:\Windows\SysWOW64\shutdown.exe -f -s" /ST 23:59 /SD 2024/08/16
复制代码
作者: qq8899399 时间: 2024-8-16 11:29
回复 4# hfxiang
G:\Downtemp\task>"C:\Windows\SysWOW64\schtasks.exe" /Create /SC ONCE /TN "单次定时23:59关机" /TR "C:\Windows\SysWOW64\shutdown.exe -f -s" /ST 23:59 /SD 2024/08/16
错误: 参数错误。
作者: qq8899399 时间: 2024-8-16 11:36
我的诉求是 断开远程桌面后 执行相应的批处理
已解决 使用https://github.com/zzzprojects/findandreplace进行xml文本替换
代码如下。大侠们帮看下。还有些啥能优化修改的么
xml代码
- <?xml version="1.0" encoding="UTF-16"?>
- <Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
- <Triggers>
- <SessionStateChangeTrigger>
- <Enabled>true</Enabled>
- <StateChange>RemoteDisconnect</StateChange>
- </SessionStateChangeTrigger>
- </Triggers>
- <Principals>
- <Principal id="Author">
- <LogonType>Password</LogonType>
- <RunLevel>HighestAvailable</RunLevel>
- </Principal>
- </Principals>
- <Settings>
- <Priority>7</Priority>
- </Settings>
- <Actions Context="Author">
- <Exec>
- <Command>templatelist</Command>
- <Arguments>templatelog</Arguments>
- </Exec>
- </Actions>
- </Task>
复制代码
创建计划任务代码
- @ECHO OFF
- REM https://msdn.microsoft.com/zh-cn/library/windows/desktop/bb736357(v=vs.85).aspx
- PUSHD %~DP0
- >NUL 2>&1 REG.exe query "HKU\S-1-5-19" || (
- ECHO SET UAC = CreateObject^("Shell.Application"^) > "%TEMP%\Getadmin.vbs"
- ECHO UAC.ShellExecute "%~f0", "%1", "", "runas", 1 >> "%TEMP%\Getadmin.vbs"
- "%TEMP%\Getadmin.vbs"
- DEL /f /q "%TEMP%\Getadmin.vbs" 2>NUL
- Exit /b
- )
-
- ::创建计划任务
- ::任务名称,断开远程桌面后自动执行任务
- ::任务内容,执行当前目录下run.bat批处理
- ::提取配置文件到临时目录
- copy /y "%cd%\Bin\config\taskmodel.xml" "%cd%\Bin\Temp\taskmodel.xml"
- ::修改配置文件
- "%cd%\Bin\fnr\fnr.exe" --cl --dir "%cd%\Bin\Temp" --fileMask "*.xml" --find "templatelist" --replace "%~DP0run.bat"
- "%cd%\Bin\fnr\fnr.exe" --cl --dir "%cd%\Bin\Temp" --fileMask "*.xml" --find "templatelog" --replace "%~DP0run.log"
- cls
- ::删除旧的计划任务
- schtasks /delete /tn "断开远程桌面后自动执行任务" /f
- cls
- echo.
- echo.
- ::创建计划任务
- echo 当前Windows系统登录帐号(必须是管理员帐号)
- echo.
- echo.
- set /p loginname=系统登录帐号:
- echo.
- echo.
- schtasks /create /ru %loginname% /tn "断开远程桌面后自动执行任务" /xml "%cd%\Bin\Temp\taskmodel.xml"
- echo.
- ::清理临时文件
- del /f /q "%cd%\Bin\Temp\*.*"
- ECHO.&ECHO 创建完成,任意键关闭!&pause>nul &exit
复制代码
作者: qq8899399 时间: 2024-8-16 11:36
回复 2# Batcher
我更新了我的批处理。麻烦帮看下。还有什么优化或者修改的么
作者: hfxiang 时间: 2024-8-16 12:13
回复 5# qq8899399
/TN "单次定时23:59关机" 不支持西文冒号(:),改用中文冒号(:)即可,4楼已修正,测试正常
作者: qq8899399 时间: 2024-8-16 12:36
回复 8# hfxiang
可以运行了。不过你没看明白我的需求。 我更新了下。
作者: Five66 时间: 2024-8-16 14:34
应该可用ONEVENT触发器
去事件查看器里"断开远程桌面"的事件
然后参考帮助那个
SCHTASKS /Create /SC ONEVENT /EC System /MO *[System/EventID=101]
试试整出来
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |