我需要從回收站中恢復超過40000個項目,通過GUI它使用了大量內存,系統幾乎掛起,即使我在100個項目時間。因此,我在PowerShell中寫了下面的腳本,但我有以下錯誤:
VERBOSE: Performing the operation "Move Directory" on target "Item: E:\$RECYCLE.BIN\S-1-5-21-45987200-1508583899-68119131-500\$R2FXY9E Destination: E:\OneDrive - MHG - Brasil\Admin_Fin\Silvia\Silvia\Clientes\Miller Heiman Group\Embraer\Fase I\ARIBA\Embraer - Evento - Resumo_arquivos".
Move-Item : Could not find a part of the path.
At E:\Scripts\ListaRecycled.ps1:7 char:6
+ Move-Item $item.Path $CaminhoCompleto -Force -Verbose
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : WriteError: (E:\$RECYCLE.BIN...31-500\$R2FXY9E:DirectoryInfo) [Move-Item],
DirectoryNotFoundException
+ FullyQualifiedErrorId : MoveDirectoryItemIOError,Microsoft.PowerShell.Commands.MoveItemCommand
在我的代碼,我做了以下內容:
$Shell = New-Object -ComObject Shell.Application
$Global:Recycler = $Shell.NameSpace(0xa)
$Excluidos = $Recycler.Items()
foreach ($item in $Excluidos)
{
$CaminhoCompleto = Join-Path $Recycler.GetDetailsOf($item,1) $Recycler.GetDetailsOf($item,0)
Move-Item $item.Path $CaminhoCompleto -Force -Verbose
}
感謝。
我認爲您的箱子中有一個空白對象或者名稱不正確。我上面試過你的代碼,事實證明我有一個沒有名字的文件夾(不知道它來自哪裏),但是因爲連接路徑函數的運行方式而崩潰了。它找到了舊的路徑,試圖連接一個空白名稱,然後試圖將其移到基礎文件夾。不知道這是否也是您的問題,但值得檢查垃圾箱的內容以確保您沒有任何空白。 –
您可以使用該項目的屬性來確定目的地。 '$ item.getfolder.title' – TheMadTechnician