我有一个被计划任务调用的应用程序.它从Windows Server 2003迁移到Windows Server 2008. 2003年,应用程序在可执行文件所在的目录中运行.在2008年Environment.CurrentDirectory
(C#)报告它在C:\ Windows\System32中运行.如何设置运行目录?我正在使用schtasks.exe进行命令行部署.
UPD:通过界面,它似乎是动作编辑屏幕上的"开始(可选)"字段.
UPD:看起来使用XML文件可能有所帮助,但我希望没有它.
只是想添加对Windows Server 2008和2012有效的细节.因为很多人可以更好地理解屏幕截图,这里是一个屏幕截图:
把它们加起来.为计划任务创建操作时,您可以选择设置"开始(可选)"字段(在屏幕截图中以红色圆角).这将是您的流程触发的目录.
希望这可以帮助!
我最近遇到了同样的问题.我解决它的方法是将/ V1开关添加到schtasks命令.
/ V1创建一个pre-vista兼容的计划任务,并自动填充Start In目录.
您可以使用以下命令在目录中设置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\" "
请参阅我对类似问题的回答,如何设置"唤醒计算机以运行此任务..."选项,该选项仅可从任务计划程序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
细节在这里.