Ich habe meine alten Batch-Dateien mit anständigem Erfolg in Powershell-Skripte konvertiert. Allerdings ... Ich kann nicht genau herausfinden, was in diesem Fall der beste und effizienteste Weg wäre, dies zu tun.
Hier ist das Batch-Skript:
attrib -h -s *.* /s
del /s folder.jpg
del /s albumart*.jpg
del /s desktop.ini
@pause
Im Grunde geht es durch meine Musikordner und Unterordner und löscht alle Junk-Dateien, die dort sein könnten (ich habe sie in meinem Musikordner).
Würde so etwas funktionieren (nach schnellem Test hat es aber nicht geklappt ...)?
$currentfolder = split-path -parent $MyInvocation.MyCommand.Definition
Get-ChildItem -Path $currentfolder -Include folder.jpg, albumart*.jpg, desktop.ini -File -Recurse | foreach { $_.Delete()}
Es wäre auch schön, gelöschte Dateinamen wiederzugeben.
EDIT: Ich füge hier die voll funktionsfähige Lösung hinzu:
$currentfolder = split-path -parent $MyInvocation.MyCommand.Definition
Get-ChildItem -Path $currentfolder -Include folder.jpg, albumart*.jpg, desktop.ini -File -Recurse | foreach { echo "Deleting: $_" ; $_.Delete()}
Antworten:
Auch wenn Ihr zweites Skript funktioniert, ist dieses einfacher zu verstehen und möglicherweise in "Better PowerShell" geschrieben:
Hoffe das hilft !
quelle
Get-ChildItem -Path $(Get-Location) -File -Include folder.jpg,albumart*.jpg,desktop.ini -Recurse | Remove-Item -Force -Verbose