0
私のスクリプトのnoobness、特定のファイル拡張子のフォルダを検索し、FTPサイトにアップロードしてログファイルを作成するPowerShellスクリプトがあります。FTPアップロードとREname
これはうまくいきますが、アップロード後にファイル拡張子の名前を変更する新しい要件があります。 私はWebClientではなくWebRequestを使用する必要があることを理解していますが、私はそれに苦労しています。どうすればこれを達成できますか?ここ は、現在のスクリプトです:
$LogFile='C:\test\log.txt'
$TimeStamp= get-date -Format yyyyMMdd"_"HHmmss
$ScriptrunTime= get-date
Add-Content $LogFile ' '
Add-Content $LogFile '------------------------------------------------------'
Add-Content $LogFile ' '
$msg= '----------- Script run time: ' + $TimeStamp +' -----------'
Add-Content $LogFile $msg
Add-Content $LogFile ' '
$FTP="ftp://username:[email protected]/folder/"
$webclient = New-Object System.Net.WebClient
$webclient.Proxy = [System.Net.WebRequest]::DefaultWebProxy
$Source ='C:\source'
try{
$data = @(dir -file $Source\*.tmp | select fullname, name)
$msg='Source: ' + $Source
Add-Content $LogFile $msg
Add-Content $LogFile ' '
$msg='Target: ' + $FTP
Add-Content $LogFile $msg
Add-Content $LogFile ' '
$msg='There are ' + $data.Count + ' files to upload'
Add-Content $LogFile $msg
foreach($item in $data){
Add-Content $LogFile ' '
$UploadFile=$ftp+$item.Name
$UploadFileName=$item.FullName
try
{
$msg="Uploading $UploadFile"
Add-Content $LogFile $msg
$webclient.UploadFile($UploadFile, $UploadFileName)
Add-Content $LogFile ' '
Add-Content $LogFile "Upload completed"
Add-Content $LogFile ' '
Add-Content $LogFile ' '
Add-Content $LogFile "Delete file"
}
catch
{
$ErrorDesc=$_.Exception.Message
Add-Content $LogFile ' '
$msg='Error occured: '+ $ErrorDesc
Add-Content $LogFile $msg
}
Add-Content $LogFile ' '
}
}
catch
{
$ErrorDesc=$_.Exception.Message
Add-Content $LogFile ' '
$msg='Error occured: '+ $ErrorDesc
Add-Content $LogFile $msg
}
$TimeStamp= get-date -Format yyyyMMdd"_"HHmmss
$ScriptrunTime= get-date
Add-Content $LogFile ' '
$msg='----------- Script end time: ' + $TimeStamp +' -----------'
Add-Content $LogFile $msg
あなたはすべての中を削除し、その後、移動アイテムをアップロードする前にファイルの名前を変更(同時に)ステージング領域に移動し、新しく名前を変更したファイルをアップロードすることができませんでしたステージングエリア? – VendableFall
FTPにアップロードする前に拡張機能を変更するだけの理由はありますか? –
[PowerShellでFTP上のファイルの名前を変更する]の複製があります(http://stackoverflow.com/questions/12070808/rename-file-on-ftp-with-powershell) –