使用PowerShell在FTP上重命名文件

时间:2012-08-22 10:07:32

标签: file powershell ftp rename

有没有办法在FTP目录中重命名文件? 我正在将实时图像从计算机传输到FTP,但问题是,当它将图像上传到ftp时,它会立即替换文件。我想首先使用TEMP名称上传图像,然后重命名为live.jpg。它会像缓存文件上传一样。

while($true)
{
    $i++
$File = "c:\live\temp.jpg"
$ftp = "ftp://username:password@example.com/camera/temp.jpg"

$webclient = New-Object System.Net.WebClient
$uri = New-Object System.Uri($ftp)

$webclient.UploadFile($uri, $File)
}

如何在脚本中正确使用它?

Rename-Item ..\camera\temp.jpg live.jpg

感谢名单!

2 个答案:

答案 0 :(得分:4)

试试这个:

$ftp = [System.Net.FtpWebRequest]::Create("ftp://username:password@example.com/camera/temp.jpg")
$ftp.KeepAlive = $true
$ftp.UsePassive = $true
$ftp.Method = "Rename"
$ftp.RenameTo = "camera/temp1.jpg"
$ftp.UseBinary = $true
$response = [System.Net.FtpWebResponse] $ftp.GetResponse()

答案 1 :(得分:1)

$ftp = [System.Net.FtpWebRequest]::Create("ftp://username:password@example.com/camera/temp.jpg")
$ftp.KeepAlive = $true
$ftp.UsePassive = $true
$ftp.Method = "Rename"
$ftp.RenameTo = "camera/temp1.jpg"
$ftp.UseBinary = $true
$response = [System.Net.FtpWebResponse] $ftp.GetResponse()

我不得不调整 $ftp.RenameTo 行并删除目录以使其对我有用:

$ftp.RenameTo = "temp1.jpg"

还是谢谢