私は古いバッチファイルをPowerShellスクリプトに変換してきましたが、かなりの成功を収めています。しかし...この場合、それを行うための最良かつ効率的な方法が何であるかを完全に理解することはできません。
バッチスクリプトは次のとおりです。
attrib -h -s *.* /s
del /s folder.jpg
del /s albumart*.jpg
del /s desktop.ini
@pause
基本的に、それは私の音楽フォルダとサブフォルダを通過し、そこにある可能性のあるすべてのジャンクを削除します(私はそれを私の音楽フォルダに持っています)。
このようなものは機能しますか(クイックテストの後、機能しませんでした...)?
$currentfolder = split-path -parent $MyInvocation.MyCommand.Definition
Get-ChildItem -Path $currentfolder -Include folder.jpg, albumart*.jpg, desktop.ini -File -Recurse | foreach { $_.Delete()}
削除されたファイル名をエコーするのもいいでしょう。
編集:私はここに完全に機能するソリューションを追加しています:
$currentfolder = split-path -parent $MyInvocation.MyCommand.Definition
Get-ChildItem -Path $currentfolder -Include folder.jpg, albumart*.jpg, desktop.ini -File -Recurse | foreach { echo "Deleting: $_" ; $_.Delete()}
2番目のスクリプトが機能する場合でも、これは理解しやすく、「より優れたPowerShell」で記述できます。
$currentfolder = Get-Location
Get-ChildItem -Path $currentfolder -File -Include folder.jpg,albumart*.jpg,desktop.ini -Recurse | Remove-Item -Force -Verbose
お役に立てれば !