複数の ftps で複数のファイルをコピーする必要があります。
このWrite-FTP 機能を使用します。それのさまざまなバージョンがネットや SO で出回っています。
問題は、ファイル数やその他のステートメントによってはコピーが失敗することです。テストコードは次のとおりです。
. ".\Write-FTP.ps1"
$ftp = "ftp://10.35.3.66//var/www/html/"
$files=@()
@(1..151) | %{ $files += "File1.zip"}
ForEach( $file in $files) {
$file
Write-Ftp $file $ftp @("user", "pass")
#[System.GC]::Collect()
}
私のシステムでは 150 個のファイルが機能しますが、151 個目でエラーが発生します。GC.Collect のコメントを外すと、3 つのファイルの後で失敗します。File1.zip は空の zip ファイルです。出力は次のとおりです。
---------- PowerShell ----------
File1.zip
File1.zip
File1.zip
Exception calling "GetRequestStream" with "0" argument(s): "The remote server r
eturned an error: (500) Syntax error, command unrecognized."
At D:\Work\ISPPlus\_novi\Write-FTP.ps1:17 char:30
+ $rs = $ftp.GetRequestStream <<<< ()
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException
ファイルのサイズと数によっては、エラーが発生します。メモリの問題か何かのように見えますが、何が問題なのかわかりません。