4

Я преобразил мои старые командные файлы в сценарии 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()}

1 ответ1

5

Даже если ваш второй сценарий будет работать, его будет проще понять, и он может быть написан на «лучше PowerShell»:

$currentfolder = Get-Location
Get-ChildItem -Path $currentfolder -File -Include folder.jpg,albumart*.jpg,desktop.ini -Recurse | Remove-Item -Force -Verbose

Надеюсь это поможет !

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .