Skip to main content
 首页 » 编程设计

PowerShell FTP 上传

2025年05月04日366cyq1162

$infographie="C:\Archive\Infographie\28052013\myfile.pdf" 
 
$ftp = "ftp://174.9.102.210/public_html/infographie/myfile.pdf" 
 
$user = "****" 
 
$pass = "*******" 
 
$webclient = New-Object System.Net.WebClient  
 
$webclient.Credentials = New-Object System.Net.NetworkCredential($user,$pass)   
 
$uri = New-Object System.Uri($ftp) 
 
try{ 
 
$webclient.UploadFile($uri, $infographie)  
 
} 
catch 
{ 
 
Write-Host "`nAn Error occured while uploading file to: $Uri" 
 
Throw     
} 

我每次都有问题,我尝试执行脚本,我尝试了很多解决方案,但没有一个解决了我的问题
Exception calling "UploadFile" with "2" argument(s): "An exception occurred during 
a ebClient request." 
At D:\Scripts\test.ps1:14 char:22 
+ $webclient.UploadFile <<<< ($uri,$File) 
+ CategoryInfo          : NotSpecified: (:) [], MethodInvocationException 
+ FullyQualifiedErrorId : DotNetMethodException 

当我使用 filezila 时,它似乎使用了 Proxy ixftp.e-i.net:8011 并且它有效,我不知道如何在 PowerShell 中设置代理

请您参考如下方法:

我成功地使用了这个脚本(来自 http://gallery.technet.microsoft.com/scriptcenter/80647f66-139c-40a4-bb7a-04a2d73d423c ):

#we specify the directory where all files that we want to upload   
$Dir="C:/Dir"     
 
#ftp server  
$ftp = "ftp://ftp.server.com/dir/"  
$user = "user"  
$pass = "Pass"   
 
$webclient = New-Object System.Net.WebClient  
 
$webclient.Credentials = New-Object System.Net.NetworkCredential($user,$pass)   
 
#list every sql server trace file  
foreach($item in (dir $Dir "*.trc")){  
    "Uploading $item..."  
    $uri = New-Object System.Uri($ftp+$item.Name)  
    $webclient.UploadFile($uri, $item.FullName)  
 }