で提供されるが、私はは、Remove-Itemはファイル名は、それは私にしばらく時間がかかったように私はこのことについて非常に興味があります変数
まずそれを把握することができなかったときに動作していない、私は取得するには、次のスクリプトを実行しましたそれは以下のように示した
$entryList = New-Object System.Collections.ArrayList
Get-ChildItem -Path "\\tools-backup.nas\Tools-Backup\FakeS3\Rollback\$serverName" -ErrorAction Stop | sort -Property "LastWriteTime" | ForEach-Object {
if($_.Name.Contains(".zip")) {
$entryList.Add($_.Name) | Out-Null
}
}
ディレクトリ内のすべてのZipファイルは:
2016-08-30_21-15-17_server-1.1.20558_client-1.1.20518 - Copy - Copy.zip
2016-08-30_21-15-17_server-1.1.20558_client-1.1.20518 - Copy (2).zip
2016-08-30_21-15-17_server-1.1.20558_client-1.1.20518 - Copy (3).zip
2016-08-30_21-15-17_server-1.1.20558_client-1.1.20518 - Copy.zip
2016-08-30_21-15-17_server-1.1.20558_client-1.1.20518 - Copy (6).zip
2016-08-30_21-15-17_server-1.1.20558_client-1.1.20518 - Copy - Copy (2).zip
は、その後、私は最初の1(2016-08-30_21-15-17_server-1.1.20558_client-1.1を削除しようとしました。 20518 - Copy - Copy.zip)を次のように削除します:
Remove-Item -Path "\\tools-backup.nas\Tools-Backup\FakeS3\Rollback\$serverName\$entryList[0]" -ErrorAction Stop
Remove-Item : The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
At line:1 char:1
+ Remove-Item -Path "\\tools-backup.nas\Tools-Backup\FakeS3\Rollback\$s ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ReadError: (\\toolsbackup....lback\autopatch:String) [Remove-Item], PathTooLongException
+ FullyQualifiedErrorId : DirIOError,Microsoft.PowerShell.Commands.RemoveItemCommand
パスが長すぎる例外があります。私は、ファイル名は$するentrylistことによってそれを渡すのではなく「削除-項目」に入れる場合は、[0]、それはあなたの問題はあなたの引用符で囲まれた文字列に「[0] $するentrylist」を使用している
Remove-Item -Path "\\tools-backup.nas\Tools-Backup\FakeS3\Rollback\$serverName\2016-08-30_21-15-17_server-1.1.20558_client-1.1.20518 - Copy (2).zip" -ErrorAction Stop
脇に: '$ entryList = Get-ChildItem -Path" \\ tools-backup.nas \ Tools-Backup \ FakeS3 \ Rollback \ $ serverName "* .zip -ErrorAction Stop | sort -Property "LastWriteTime" ' – mklement0