Как искать папки, оканчивающиеся символьными окнами

У меня много папок, я хочу выбрать все, заканчивающиеся на 30, и переместить их в другую папку, это можно легко сделать в Windows или DOS?

Это одноразовая задача

2 ответа

Вы можете использовать приведенный ниже скрипт powershell, чтобы удовлетворить ваши потребности.

$copy=Get-PSDrive -PSProvider FileSystem  |  %{ Get-ChildItem $_.Root -directory -Recurse -force  -ErrorAction SilentlyContinue| Where-Object {$_.basename -match ".*30$"}}
Copy-Item -Path $copy.Fullname -Destination D:\TEST\ 

Вам просто нужно изменить "D:\TEST\" в коде на путь, по которому вы хотите разместить эти папки.

Примечание. Этот код предназначен для копирования соответствующих папок в новую папку. Если вы хотите вырезать их в новую папку, вам нужно изменить первый "Копировать" во второй строке кода на "Переместить". Кроме того, некоторые папки могут содержать системные файлы, и у вас может не быть разрешения на их перемещение.

Простой однострочный Powershell:

PS C:\> Get-ChildItem -Path C:\source\* -Directory -Filter *30 | Move-Item -Destination C:\destination\

На GUI используйте "*30" kind:=folder фильтр в инструменте поиска:

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