我知道可以导入多个这样的任务:
schtasks.exe /create /TN "Task 1 Name" /XML "Full_Path_of_Backup_XML_File"
schtasks.exe /create /TN "Task 2 Name" /XML "Full_Path_of_Backup_XML_File"
schtasks.exe /create /TN "Task 3 Name" /XML "Full_Path_of_Backup_XML_File"
但我更喜欢以更动态的方式导入当前目录中的所有schtasks .xml文件。很像this批处理(.xml而不是.reg):
rem @echo off
cls
SET folder=%~dp0
for %%i in ("%folder%*.reg") do (regedit /s "%%i")
echo done
pause
EXIT
有人能引导我走向正确的方向吗? :)
答案 0 :(得分:0)
您是否想要遍历与批处理文件脚本位于同一目录中的每个XML文件?然后使用找到的每个XML文件创建计划任务?如果是这种情况,你可以尝试这样的事情(假设XML文件有效创建计划任务):
@echo off
setlocal enabledelayedexpansion
for %%e in ("%~dp0*.xml") do (
set /a "count+=1"
schtasks /create /tn "Task !count! Name" /xml "%%~e"
)
如果您需要能够将包含感叹号的XML文件名传递给schtasks
命令行工具,请改用以下代码:
@echo off
setlocal disabledelayedexpansion
set "count=1"
for %%e in ("%~dp0*.xml") do (
set "file=%%~e"
setlocal enabledelayedexpansion
schtasks /create /tn "Task !count! Name" /xml "!file!"
endlocal & set /a "count+=1"
)
还有一个问题,如何将任务命名为.xml文件名?
这实际上会简化一些事情,因为在执行期间不需要在for循环体内扩展单独的变量:
@echo off
setlocal disabledelayedexpansion
for %%e in ("%~dp0*.xml") do (
schtasks /create /tn "%%~ne" /xml "%%~e"
)