我想从命令行列出Vista中回收站中的文件。到目前为止,我有这个:
dir C:\$Recycle.Bin /s /b >> recyclebin.txt
这项工作正常,我得到的输出是这样的:
C:\$Recycle.bin\S-1-5-21-931442927-344369455-2477061601-1000\$I2H8K48.zip
C:\$Recycle.bin\S-1-5-21-931442927-344369455-2477061601-1000\$IE94UAG.exe
C:\$Recycle.bin\S-1-5-21-931442927-344369455-2477061601-1000\$IR4P99W.rar
C:\$Recycle.bin\S-1-5-21-931442927-344369455-2477061601-1000\$R2H8K48.zip
C:\$Recycle.bin\S-1-5-21-931442927-344369455-2477061601-1000\$RE94UAG.exe
C:\$Recycle.bin\S-1-5-21-931442927-344369455-2477061601-1000\$RR4P99W.rar
而且我的回收站中只有3个文件,分别为
auto-it-v3-setup.exe
,fcleanerportable.rar
和Reinstall.rar
。有什么办法可以将这些名称添加到
.txt
文件列表中,而不是上面的那些代号文件? 最佳答案
要使用PowerShell按其原始位置列出回收站中的文件(另存为file.ps1,请在|之前删除换行符,以便仅获得两行):
(New-Object -ComObject Shell.Application).NameSpace(0x0a).Items()
|select @{n="OriginalLocation";e={$_.ExtendedProperty("{9B174B33-40FF-11D2-A27E-00C04FC30871} 2")}},Name
| export-csv -delimiter "\" -path C:\Users\UserName\Desktop\recycleBinFiles.txt -NoTypeInformation
(gc C:\Users\UserName\Desktop\recycleBinFiles.txt | select -Skip 1)
| % {$_.Replace('"','')}
| set-content C:\Users\UserName\Desktop\recycleBinFiles.txt