У меня есть несколько .mkv
файлов на NAS-устройстве Synology в подкаталогах общей папки с добавленным в конце следующим расширением .partial~
.
Я пытаюсь удалить .partial~
изконец этих файлов, и игнорируйте все другие файлы, расположенные внутри, такие как .jpg
Папка \ Структура файла Например:
\\ NAS \ SharedFolder \ Subdirectory1 \ Subdirectory2 \ file.mkv.partial ~
\\ NAS \ SharedFolder \ Subdirectory1 \ file.mkv.partial ~
\\ NAS \ SharedFolder \ Subdirectory1 \ file.jpg
Я создал следующий сценарий powershell strippartialext.ps1
, который работает правильно при запуске на моем компьютере с Windows 10 из Подкаталога 1 или Подкаталога 2:
\\ NAS \ SharedFolder \ Subdirectory1 \ strippartialext.ps1 [РАБОТАЕТ ЗДЕСЬ]
\\ NAS \ SharedFolder \ Subdirectory1 \ Subdirectory2 \ strippartialext.ps1 [РАБОТАЕТ ЗДЕСЬ]
Он удаляет все, что ниже (или в подкаталогах ниже), но не работает при запускес вершины SharedFoМестоположение lder:
\\ NAS \ SharedFolder \ strippartialext.ps1 [НЕ РАБОТАЕТ ЗДЕСЬ]
Get-ChildItem -File -Recurse | % { Rename-Item -Path $_.PSPath -NewName $_.Name.replace(".partial~","")}
Я получаю следующие ошибки при запуске файла .ps1из расположения SharedFolder:
Переименовать-элемент: невозможно переименовать, поскольку элемент в «Microsoft.PowerShell.Core \ FileSystem :: \ NAS \ sharedfolder \ Sub Directory1 \ file.jpg» не существует.В \ NAS \ sharedfolder \ strippartialext.ps1: 1 char: 36 + ... curse |% {Rename-Item -Path $ .PSPath -NewName $ .Name.replace (". Pa ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ CategoryInfo: InvalidOperation: (:) [Rename-Item], PSInvalidOperationException + FullyQualifiedErrorId: InvalidOperation, Microsoft.PowerShell.Commands.RenameItemCommand
Я хотел бы знать, как заставить этот файл запускаться из расположения SharedFolder, так как мне нужно было бы запустить этот скрипт только один разчтобы охватить все мои файлы вместо сотен раз отдельно в каждой папке подкаталога.