在 PowerShell 中将参数传递给 $webclient.DownloadFile()
Passing arguments to $webclient.DownloadFile() in PowerShell
我第一次使用 PowerShell 来完成一项小任务。我在磁盘上有一个文本文件,文件下载 url links.Text 文件有几个逐行链接。我想下载到磁盘。我尝试使用以下代码。
$filepath = "C:\Users\User\Desktop\filelinks.txt"
$files = Get-Content $filepath
$i=0
foreach($fileurl in $files){
$webclient = New-Object System.Net.WebClient
$file = "C:\Users\User\Desktop\"+$i+".csv"
$webclient.DownloadFile($fileurl,$file)
$i++
}
但是我得到以下错误
Exception calling "DownloadFile" with "2" argument(s): "Illegal characters in path."
At line:8 char:1
+ $webclient.DownloadFile($fileurl,$file)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : ArgumentException
文本文件中的链接
"http://www.football-data.co.uk/mmz4281/1617/I1.csv"
"http://www.football-data.co.uk/mmz4281/1617/E1.csv"
"http://www.football-data.co.uk/mmz4281/1617/E2.csv"
"http://www.football-data.co.uk/mmz4281/1617/SP1.csv"
"http://www.football-data.co.uk/mmz4281/1617/D1.csv"
我应该如何在这里传递正确的参数
您的文件中的网址似乎包含在"..."
中 - 真正的双引号,当用Get-Content
读取时,变成了literal 部分行读取 - 这不是意图(embedded "
字符。在 URL 中不允许,这解释了你的错误锯)。
任一:通过从每一行中删除封闭的 "
实例来更新文件 C:\Users\User\Desktop\filelinks.txt
。
或者:在阅读带有 Get-Content
:
的行后删除封闭的 "
实例
$fileurl = $fileurl -replace '^"(.*)"$', ''
我第一次使用 PowerShell 来完成一项小任务。我在磁盘上有一个文本文件,文件下载 url links.Text 文件有几个逐行链接。我想下载到磁盘。我尝试使用以下代码。
$filepath = "C:\Users\User\Desktop\filelinks.txt"
$files = Get-Content $filepath
$i=0
foreach($fileurl in $files){
$webclient = New-Object System.Net.WebClient
$file = "C:\Users\User\Desktop\"+$i+".csv"
$webclient.DownloadFile($fileurl,$file)
$i++
}
但是我得到以下错误
Exception calling "DownloadFile" with "2" argument(s): "Illegal characters in path."
At line:8 char:1
+ $webclient.DownloadFile($fileurl,$file)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : ArgumentException
文本文件中的链接
"http://www.football-data.co.uk/mmz4281/1617/I1.csv"
"http://www.football-data.co.uk/mmz4281/1617/E1.csv"
"http://www.football-data.co.uk/mmz4281/1617/E2.csv"
"http://www.football-data.co.uk/mmz4281/1617/SP1.csv"
"http://www.football-data.co.uk/mmz4281/1617/D1.csv"
我应该如何在这里传递正确的参数
您的文件中的网址似乎包含在"..."
中 - 真正的双引号,当用Get-Content
读取时,变成了literal 部分行读取 - 这不是意图(embedded "
字符。在 URL 中不允许,这解释了你的错误锯)。
任一:通过从每一行中删除封闭的
"
实例来更新文件C:\Users\User\Desktop\filelinks.txt
。或者:在阅读带有
的行后删除封闭的Get-Content
:"
实例$fileurl = $fileurl -replace '^"(.*)"$', ''