7

Как я могу переместить, а не копировать все файлы с одинаковым расширением из сотен подкаталогов в одну папку без перезаписи файлов с одинаковыми именами?

3 ответа3

7

В DOS сделать:

FOR /R "C:\MoveFromDirectory" "%i" IN (*.mp3) DO MOVE "%i" "C:\Move2Directory"

Измените "MoveFromDirectory" на каталог, в котором вы ищете. Измените * .mp3 на любое нужное вам расширение файла. Измените Move2Directory на место, куда вы хотите переместить их.

5

Довольно легко с Powershell. Этот скрипт захватывает все файлы с расширением .txt (из текущего каталога) и работает с каждым из них: если имя файла назначения существует, он добавляет текущую метку времени (в миллисекундах) к имени файла назначения.

$DestPath = "C:\NewFolder"


Get-ChildItem .\*.txt -recurse | foreach{

    if(Test-Path "$DestPath\$($_.Name)" -eq true)
    {
        Copy-Item $_ -Destination "$DestPath\$($_.BaseName)-$($(get-date).ToString("yyyyMMddhhmmssss"))$($_.Extension)"
    }

    else
    {
        Copy-Item $_ -Destination $DestPath
    }
}
3

Поиск всех файлов с заданным расширением, введя что-то вроде * .exe в верхнем правом углу окна поиска Windows Explorer. Это будет искать все файлы .exe в текущем каталоге, а также подкаталоги. На этом этапе все эти файлы будут перечислены в окне. Теперь вы можете выбрать их и использовать вырезать / вставить, переименовать их или любое другое действие, которое вы обычно можете выполнять в проводнике Windows.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .