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

使用schtasks.exe为计划任务指定运行目录

如何解决《使用schtasks.exe为计划任务指定运行目录》经验,为你挑选了4个好方法。

我有一个被计划任务调用的应用程序.它从Windows Server 2003迁移到Windows Server 2008. 2003年,应用程序在可执行文件所在的目录中运行.在2008年Environment.CurrentDirectory(C#)报告它在C:\ Windows\System32中运行.如何设置运行目录?我正在使用schtasks.exe进行命令行部署.

UPD:通过界面,它似乎是动作编辑屏幕上的"开始(可选)"字段.

UPD:看起来使用XML文件可能有所帮助,但我希望没有它.



1> Angel Nayden..:

只是想添加对Windows Server 2008和2012有效的细节.因为很多人可以更好地理解屏幕截图,这里是一个屏幕截图:
在此输入图像描述

把它们加起来.为计划任务创建操作时,您可以选择设置"开始(可选)"字段(在屏幕截图中以红色圆角).这将是您的流程触发的目录.

希望这可以帮助!


我相信OP想要使用`schtasks.exe`,而不是任务计划程序.
虽然OP不是在寻找这个,但它帮助我解决了我的问题.为此+1.:)

2> 小智..:

我最近遇到了同样的问题.我解决它的方法是将/ V1开关添加到schtasks命令.

/ V1创建一个pre-vista兼容的计划任务,并自动填充Start In目录.


是 - 但通过使用`/ V1`,您不能再创建在SYSTEM帐户(`/ RU SYSTEM`)下运行的任务,或者您将收到错误消息_ERROR:该任务已配置了不受支持的组合帐户设置和运行时选项._
看起来好像使用/ V1时,无法通过指定/ TN'\ TaskFolder\TaskName'将任务添加到任务文件夹,因为schtasks将返回错误:"任务名称可能不包含字符:<>:/\|"

3> 小智..:

您可以使用以下命令在目录中设置start

关键是/ tr开关中的\.

SCHTASKS /Create /u username /p pswd /ru "NT AUTHORITY\SYSTEM"
  /rp /sc ONSTART /tn task-name /tr "\"D:\name-of-file-to-run\" "


这个答案中缺少什么吗?例如,如果我想在"c:\ window\my.exe"运行程序,并且目录中的开头应该在"c:\ temp"中,我该怎么办?
想知道是否有人可以对这一点有所了解?

4> NicJ..:

请参阅我对类似问题的回答,如何设置"唤醒计算机以运行此任务..."选项,该选项仅可从任务计划程序UI(以及通过XML)获得,而不是schtasks.exe /create命令行.

它的螺母和螺栓是:

    通过创建您的任务 schtasks.exe /create /tn MyTask ...

    通过以下方式将任务导出到XML schtasks.exe /query /xml /tn MyTask > MyTask.xml

    通过XSLT或搜索/替换更新此XML

    通过重新导入(覆盖旧任务) schtasks.exe /create /tn MyTask /xml MyTask.xml /f

细节在这里.

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