批处理文件 - 从Web资源中提取命令

时间:2017-06-23 22:16:25

标签: windows powershell batch-file vbscript cmd

我尝试了几种解决方案无济于事,但我正在寻找一种解决方案来创建一个批处理文件,该文件将运行位于网站上的远程.txt文件中的任何命令。

例如,有人点击.bat.batwww.example.com/command.txt检索命令列表,然后运行.txt的内容,就像命令一样在原始.bat文件中明确指定。我并不反对使用PowerShell或VBScript。

1 个答案:

答案 0 :(得分:1)

在PowerShell中,您可以执行此操作:iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

即。这将下载并运行PowerShell脚本:https://chocolatey.org/install.ps1

<强>解释

  • New-Object System.Net.WebClient创建.Net Web客户端的新实例。
  • DownloadString('https://chocolatey.org/install.ps1')调用网络客户端的下载方法从此脚本中撤回文本(请参阅https://msdn.microsoft.com/en-us/library/fhd1f0sw(v=vs.110).aspx)。
  • iexinvoke-expression的别名。这会运行下载的字符串,就像它是一个命令一样;即使PowerShell执行远程脚本。

更简单的版本

虽然Chocolatey安装脚本是令人印象深刻的1衬里,但下面的扩展版本可能更容易理解(尽管最终与上面完全相同;只是分成几行)。

$scriptUri = 'https://chocolatey.org/install.ps1'
$webClient = New-Object -TypeName 'System.Net.WebClient'
$scriptAsString = $webClient.DownloadString($scriptUri)
Invoke-Expression -Command $scriptAsString

以上示例来自https://chocolatey.org/install