ในสถานการณ์ของฉันฉันมีโฟลเดอร์ขนาดใหญ่ของภาพที่วอลล์เปเปอร์ของฉันผ่านรอบ ฉันเบื่อบางคนหลังจากที่สักครู่และต้องการลบพวกเขาหรือบางครั้งฉันก็สงสัยว่าชื่อภาพคืออะไรเพราะมันสามารถมีคำอธิบายของภาพ
ฉันสร้างสคริปต์ 2 ตัวตามข้อเสนอแนะด้านบน - รายการหนึ่งเพื่อรับเส้นทางรูปภาพปัจจุบันและอีกบทหนึ่งเพื่อลบ ทดสอบบน Windows 10 เท่านั้น
รับเส้นทางรูปภาพ (getwallpaper.ps1)
$bytes=(New-Object -ComObject WScript.Shell).RegRead("HKEY_CURRENT_USER\Control Panel\Desktop\TranscodedImageCache")
$wallpaperpath=[System.Text.Encoding]::Unicode.GetString($bytes[24..($bytes.length-1)])
$wallpaperpath=$wallpaperpath.substring(0, $wallpaperpath.IndexOf("jpg", 0, $wallpaperpath.Length)+3)
write-output $wallpaperpath
Write-Host -NoNewLine 'Press any key to continue...';
$null = $Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown');
ลบภาพ (deletewallpaper.ps1)
$bytes=(New-Object -ComObject WScript.Shell).RegRead("HKEY_CURRENT_USER\Control Panel\Desktop\TranscodedImageCache")
$wallpaperpath=[System.Text.Encoding]::Unicode.GetString($bytes[24..($bytes.length-1)])
$wallpaperpath=$wallpaperpath.substring(0, $wallpaperpath.IndexOf("jpg", 0, $wallpaperpath.Length)+3)
write-output $wallpaperpath
Write-Host -NoNewLine 'Delete the file (y=yes)?'
$KeyOption = 'Y','N'
while ($KeyOption -notcontains $KeyPress.Character) {
$KeyPress = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
if($KeyPress.Character -eq 'y') { Remove-Item $wallpaperpath }
}
Write-Host
[Environment]::Exit(0)