我已创建以下计划任务,但我想添加第二个网址,该网址将在第一个网址结束后运行。任何人都可以帮助με我该怎么办?
提前致谢。
schtasks /create /tn "My Task Title" /tr "powershell -ExecutionPolicy unrestricted -Command \"(New-Object Net.WebClient).DownloadString(\\\"Url1\\\")\"" /sc DAILY /ru username /rp pass
答案 0 :(得分:1)
如果您有多个URL,最好将一些逻辑移动到PowerShell脚本文件中,以将某些逻辑从命令行中推出。并不是说你可以把这一切都放在命令行中,但是为了方便和可读性,使用powershell的-File
参数将是一个更好的方法。首先,您需要创建一个名为" Get-WebStrings.ps1"具有以下内容。
# Check to be sure we have at least one argument.
If($args.Count -gt 0){
# Treat each argument as a URL that we need to download.
ForEach($singleURL in $args){
# Download the string
(New-Object Net.WebClient).DownloadString($singleURL)
# Optional depending on your needs
# (New-Object Net.WebClient).DownloadString($singleURL) | Out-Null
}
}
此脚本将执行此操作,将发送给它的参数视为将其视为URL并下载数据。默认情况下,这将输出到控制台。如果只是执行下载,那么您可以将输出管道输入Out-Null
(参见上面的注释代码)。
接下来,您需要在命令行中创建任务,就像您已经完成的那样。 注意这个文件需要在调用任务的本地系统上访问!每个URL都放在字符串中的单引号内。
schtasks /create /tn "My Task Title" /tr "powershell -ExecutionPolicy unrestricted -File 'C:\Temp\Get-WebStrings.ps1' 'https://www.google.com' 'http://www.purple.com'" /sc daily /ru username /rp pass
如果您要查看任务计划程序中的操作,那么在运行之后它将会是这样的。
-ExecutionPolicy unrestricted -File "C:\Temp\Get-WebStrings.ps1" "https:\\www.google.com" "https:\\employee.firstair.ca"