Trong tình huống của tôi, tôi có một thư mục hình ảnh khổng lồ mà hình nền của tôi quay vòng. Tôi cảm thấy nhàm chán với một số sau một lúc và muốn xóa chúng hoặc đôi khi tôi chỉ tự hỏi tên hình ảnh là gì bởi vì nó có thể có mô tả của hình ảnh.
Tôi đã xây dựng 2 tập lệnh dựa trên phản hồi ở trên - một để có đường dẫn hình ảnh hiện tại và một để xóa nó. Chỉ thử nghiệm điều này trên Windows 10.
Nhận đường dẫn hình ảnh (getwallapers.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');
Xóa hình ảnh (deletewallapers.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)