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

356
Duffer

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

Image

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

0
Это запланированное задание или разовое? Akina 5 лет назад 0
Я хотел бы рассмотреть Powershell. Вы можете открыть приглашение Powershell и использовать команду move-item (https://docs.microsoft.com/powershell/module/microsoft.powershell.management/move-item), которая примет \ * 30 в качестве -Path. Например, `move-item C: \ test \ * 30 C: \ temp \` HelpingHand 5 лет назад 1

2 ответа на вопрос

2
S.Leon

Вы можете использовать приведенный ниже скрипт 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 \» в коде на путь, по которому вы хотите разместить эти папки.

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

1
bcs78

Простая однострочная оболочка Powershell:

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

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

enter image description here

Похожие вопросы