現在、特定のファイルをFTPサーバーに定期的にアップロードするためのPowerShellスクリプトがあります。このスクリプトはすべてのファイルを1つのメインフォルダにダンプします。 私が望むものは、(ルート)/年/月/日の構造でファイルをアップロードするスクリプトです。年月PowershellでアップロードしたFTPファイルの日のディレクトリ構造
私はこの目的のために使用することができるいくつかのスクリプトの場所のたくさんのを確認しましたが、それらのいずれかを動作させることができませんでした。
提案がありますか?私はgoogleで最初の100の結果を試したに違いない。
アップロードスクリプト '一つのフォルダにそれをすべてダンプ':
$webclient = New-Object System.Net.WebClient
$webclient.Credentials = New-Object
System.Net.NetworkCredential($user,$pass)
foreach($item in ($checkitems)){
Write-host "Uploading $item..." -ForegroundColor Green
$dt = Get-Date
Add-Content $log3 "$dt : Uploading $item..."
$name=$item.Name
$name=[System.Uri]::EscapeDataString($name)
$uri = New-Object System.Uri($ftp+$name+"")
$webclient.UploadFile($uri, $item.FullName)
if($error -ne $null)
{
Write-Host "Items will not be moved" -ForegroundColor Red
}
else
{
Write-Host "Moving $item to processed" -ForegroundColor green
Move-Item $item.Fullname $processed
$dt = Get-Date
Add-Content $log3 "$dt : Moving $item to processed"
}
}
私はすでに完全酒のために、確認源のいくつか:
https://superuser.com/questions/516232/creating-a-folder-named-after-the-current-date-and-time(することができますFTPでこれを動作させない?)
Powrshell script to move files into year/month folders based on creation timestamp
https://community.spiceworks.com/topic/486290-help-with-powershell-script-ftp-upload
ディレクトリが既に存在するかどうかを確認するために、アップロードされたファイルごとにチェックを追加する必要がありますか? 別のファイルがフォルダを再作成したときにフォルダがすでに作成されているとどうなりますか?それはエラーを投げるだろうか? – Alex
はい、エラーが発生します。あなたが最初にチェックして作成することを選択した場合は、それが存在しなければ、あなた次第です。または、常に試してエラーを無視してください。 –
uri値がStringではないというエラーが表示されています。私はこのようなものに変換しようとしました: 編集:マークアップは難しいです。 Link:https://i.imgur.com/f3Dx7md.png – Alex