Как повлиять только на каталоги с помощью Move-Item в PowerShell?

Я выравниваю каталог и хочу переместить элементы, которые являются каталогами, но оставить файлы нетронутыми.

К сожалению, не существует определенного шаблона, по которому можно было бы сопоставить подстановочные знаки между каталогами и файлами. Я хочу знать, можно ли сказатьMove-Itemтолько для проверки каталогов (или файлов на обратной стороне).

Изучение выводаGet-Help -Name Move-Itemэто не представляется возможным напрямую (т.е. с помощью такого параметра, как-ItemType). Насколько я понимаю, это можно было бы сделать с помощью хака, например-Exclude *.*, но мне нужно более надежное решение. Спасибо.

1 ответ

Не следует рассматривать только саму функцию, помните, что PowerShell обладает мощными возможностями конвейеризации . Чтобы переместить только каталоги, сначала отфильтруйте их, а затем перенесите вMove-Item, например:

      Get-ChildItem -Path C:\Some\Dir -Directory | Move-Item -Destination C:\Other\Dir

-DirectoryпереключательGet-ChildItemозначает, что будут найдены только дочерние папки.

Другие вопросы по тегам