svke 发表于 2022-8-17 13:20:11

如何用命令修改导出的任务计划 xml中指定内部下添加一行内容

本帖最后由 svke 于 2022-8-17 13:23 编辑

如何在这一行
<Command>c:\windows\release.bat</Command>
下面添加
<WorkingDirectory>c:\windows\</WorkingDirectory>
我用了,以下代码可以添加,可是修改后的文件用schtasks.exe /create /tn release /xml c:\tmp\release.xml /f,导回去时报错了,
错误:text/xmldecl 不在输入的开始位置success
要是手动用记事本打开后添加是不会报错了,可是要批量操作 ,手动的方法不行效率太低了
代码如下
schtasks /create /f /tn release /tr c:\windows\release.bat /sc onstart
:: 修改计划任务程序,由于中文导出报错,所以提前设置活动代码页编号437 MS-DOS 美国英语

chcp 437
::开始导出名字为release的任务计划程序
schtasks.exe /query /xml /tn release > c:\tmp\release.xml
pause
goto modifyAgent

:modifyAgent
::如下的修改操作主要是修改xml添加run directory,其中str1就是要添加的内容,添加在带有"Command"字符串行的后面一行
set "DirPath=c:\windows\"
cd /D %DirPath%
set "str1=^<WorkingDirectory^>%cd%\^<^/WorkingDirectory^>"
for /f %%i in ('type c:\tmp\release.xml') do (
echo %%i>>c:\tmp\release.xml
echo "%%i"|findstr "<Command>" >nul&&echo %str1%>>c:\tmp\release.xml)
goto import

::修改完成后就可以覆盖导入了
:import
schtasks.exe /create /tn release /xml c:\tmp\release.xml /f

geciwang 发表于 2022-9-3 22:33:18

感谢分享

咕哩咕噜 发表于 2023-10-23 08:01:33

感谢分享
页: [1]
查看完整版本: 如何用命令修改导出的任务计划 xml中指定内部下添加一行内容