2个url';s在powershell中使用cmd

2个url';s在powershell中使用cmd,powershell,cmd,task,schedule,Powershell,Cmd,Task,Schedule,我已经创建了以下计划任务,但我想添加第二个url,它将在第一个任务结束后运行。有人能帮忙吗?我怎么做 提前谢谢 schtasks /create /tn "My Task Title" /tr "powershell -ExecutionPolicy unrestricted -Command \"(New-Object Net.WebClient).DownloadString(\\\"Url1\\\")\"" /sc DAILY /ru username /rp pass 如果您有多个UR

我已经创建了以下计划任务,但我想添加第二个url,它将在第一个任务结束后运行。有人能帮忙吗?我怎么做

提前谢谢

schtasks /create /tn "My Task Title" /tr "powershell -ExecutionPolicy unrestricted -Command \"(New-Object Net.WebClient).DownloadString(\\\"Url1\\\")\"" /sc DAILY /ru username /rp pass

如果您有多个URL,最好将一些逻辑移到PowerShell脚本文件中,以将一些逻辑推离命令行。并不是说您可以将这些都放在命令行中,而是为了方便和可读性,使用powershell的
-File
参数将是一种更好的方法。首先,您需要创建一个名为“GetWebString.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"

您可以使用分号将其他命令放入其中,只要所有命令都正确引用和转义。根据这个复杂程度的不同,你可能会考虑把它放到脚本中,并使用“<代码>文件->代码>参数的PrimeSeLeMe,我会走到用逗号分隔的列表URL的路线,然后将管道连接到运行你的下载的Frach循环。我认为这些命令应该被移动到一个被执行的.PS1文件中。使其更易于维护。我认为这里应该有人发布他们的建议作为答案(可能需要对
-File foo.ps1
-Command“&{bar}”
)…;)