2017-04-18 15 views
2

私は小さなタスクのために初めて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" 

がどのように私はここに

答えて

2

それはURLのように見える右の引数を渡す必要があり、次のエラーを取得ファイル内のは、"..." - aに囲まれていますGet-Contentで読み取ったときには、のリテラルの部分が読み取られます。これは意図したものではありません(埋め込み" charsです)。あなたが見たエラーを説明しているURLには許可されていません)。

  • いずれか:各ラインから包囲"インスタンスを削除することにより更新ファイルC:\Users\User\Desktop\filelinks.txt

  • または:Get-Contentでラインを読んだ後囲む"インスタンスを削除します。

    • $fileurl = $fileurl -replace '^"(.*)"$', '$1'
関連する問題