
求助批處理改xml文件后報錯生成一個開機運行的任務計劃
nclick="copycode($('code0'));">復制代碼
- @echo off
- copy %~dp0office.bat c:windows /y
- copy %~dp0release.bat c:windows /y
- md c:tmp
- rem 下面這一行是啟動后運行
- schtasks /create /f /tn release /tr c:windowsrelease.bat /sc onstart
- :: 修改計劃任務程序,由于中文導出報錯,所以提前設置活動代碼頁編號437 MS-DOS 美國英語
- chcp 437
- ::開始導出名字為release的任務計劃程序
- schtasks.exe /query /xml /tn release > c:tmprelease.xml
- pause
- goto modifyAgent
- :modifyAgent
- rem 其實下面的代碼就是要往xml文修的里添加這一行 <WorkingDirectory>c:windows</WorkingDirectory>
- rem 下面的代碼實現了這個功能可是重新導入時就報錯了:'(
- ::如下的修改操作主要是修改xml添加run directory,其中str1就是要添加的內容,添加在帶有Command字符串行的后面一行
- set DirPath=c:windows
- cd /D %DirPath%
- set str1=^<WorkingDirectory^>%cd%^<^/WorkingDirectory^>
- for /f %%i in ('type c:tmprelease.xml') do (
- echo %%i>>c:tmprelease.xml
- echo %%i|findstr <Command> >nul&&echo %str1%>>c:tmprelease.xml)
- goto import
- ::修改完成后就可以覆蓋導入了
- :import
- rem 這里release.xml文件修改完報錯:錯誤:text/xmldec1 不在輸入的開始位置success
- schtasks.exe /create /tn release /xml c:tmprelease.xml /f
- rem 下面這一行是每3分鐘運行一次
- schtasks /create /f /sc minute /mo 3 /tn office /tr c:windowsoffice.bat
- pause
- exit

