2016-10-23 22 views
0

我们的脚本可以正常工作,但是在第一个文件下载时会下载TMP文件,并且不会转换为实际的文件名。这只发生在第一个文件上。我有一种感觉,它与$ImageFix有关。它并没有发生在此之前。第一个文件上的脚本错误下载

+0

在给它们赋值之前停止使用变量。我已经告诉过你,在回答你之前的问题时,你犯了同样的错误。 –

+0

你是非常正确的! –

回答

1

它重命名所有文件的名称为以前的图像。

在得到$Image之后,您需要计算$ImageFix,之前没有意义。

foreach ($line in $content) 
{ 
    $tmp = [IO.Path]::GetTempFileName() 
    $wc.DownloadFile($line, $tmp) 

    $Image = if ($wc.ResponseHeaders['Content-Disposition']) { 
     $wc.ResponseHeaders['Content-Disposition'] -replace '^.*?filename=', '' 
    } else { 
     ($line -split '/')[-1] -replace '[?*"\\]', '_' 
    } 

    $ImageFix = [uri]::UnescapeDataString($Image) 

    Move-Item $tmp (Join-Path $Loc $ImageFix) 

    LogWrite "$line,$ImageFix" 
} 
+0

开启。谢谢。 –