Этот ответ может развиваться, но по мере вашего вопроса я вижу большую проблему, которая, к сожалению, плохо документирована. -Include
и -Exclude
выполняют свои функции только в том случае, если они связаны с -Recurse
. Используемый без него может получить 0 результатов. В вашем случае это означает, что ничто не пропускается через трубу, а Move-Item
не выполняется.
В настоящее время вы просто фильтруете на *.mp3
, который является основным и может использоваться только с параметром -filter
. Хотя вам не нужно, чтобы я рекомендовал указать -Path
, чтобы вы перемещали нужные файлы.
Get-ChildItem -Filter *.mp3 | Other-Stuff ...
Вы упоминали в комментариях следующее сообщение об ошибке:
Move-Item : Cannot create a file when that file already exists.
Эта ошибка является очень специфичны. Либо от предыдущего тестирования, либо от надзора над новыми именами, которые уже существуют. Две вещи, которые вы можете сделать, чтобы помочь с этой проблемой, - это использовать переключатель -WhatIf
, который должен указывать путь к файлу в подробном потоке, чтобы вы знали, где находится файл.
Во-вторых, если вы понимаете риск данных, необходимо использовать -Force
, чтобы файл был перезаписан новым. С Copy-Item
это не имеет большого значения, поскольку исходный файл все еще существует. Ошибки с Move-Item
могут быть постоянными.
Какая у вас ошибка? – PetSerAl
Код, который вы опубликовали, должен делать то, что вы ожидаете от него. –
Я также хотел бы знать об ошибке. В коде не должно быть ничего плохого. – briantist