标题:[PS]使用 PowerShell 下载文件 出处:gOxiA=苏繁=SuFan Blog 时间:Mon, 24 Feb 2014 13:05:47 +0000 作者:gOxiA 地址:https://goxia.maytide.net/read.php/1714.htm 内容: 使用 PowerShell 下载文件 前段时间部署了一个基于 Windows Server 2012 R2 的 Server Core 环境,在实际使用中会遇到需要从网站上下载文件的问题,因为 Server Core 并未提供 IE,所以下载就不是那么方便了。还好在 PowerShell 下可以调用 System.Net.WebClient 来实现下载。即: $client = New-Object “System.Net.WebClient” $client.DownloadFile(“http://www.maytide.net/info.txt”,”D:\info.txt”) 虽然上述的脚本实现了从一个 URL 下载文件到本地,但是实际调用起来会感觉很麻烦。因为每次都要输入很长的脚本命令才能完成一个下载。gOxiA 在编程方面也没什么天赋,实属一菜鸟,参考了以前的脚本写了一个粗糙的下载脚本,其功能是执行脚本后提示输入 URL 的地址,然后再输入本地存储的文件路径,最后执行下载,并根据结果判断是否下载完毕。 脚本中涉及了一些基本的命令代码,其中 Write-Host 用于输出提示文本;Read-Host 用于记录用户输入的数据;调用下载、下载地址、本地存储都使用变量,最后用 Test-Path 对下载的文件进行检查,并使用 if...else 进行判断。下面就是整个脚本的内容: #清屏 Clear #脚本基本信息提示 Write-Host Write-Host PowerShell Download Tools Script. Write-Host #输入下载资源地址,赋予变量 $url Write-Host Please enter URL address of download sources! -ForegroundColor Red $url= Read-Host "Enter the URL..." Write-Host #输入文件存储路径,赋予变量 $local Write-Host Please enter the local store path! -ForegroundColor Green $local= Read-Host "Enter the store path..." #调用下载,赋予变量 $dl $dl= New-Object "System.Net.WebClient" #执行下载 Write-Host Write-Host Downloading... Please wait!!! $dl.DownloadFile("$url","$local") Write-Host #将路径检查命令赋予变量 $result $result=Test-Path $local #对 $result 结果进行判断,如果是 True 表示下载完成,否则失败 if($result -eq $True) { Write-Host Result status: Completed!!! -ForegroundColor Green } else { Write-Host Result status: Failed!!! -ForegroundColor Red } 执行效果如下图: Generated by Bo-blog 2.1.1 Release