PDA

Показать полную графическую версию : [решено] Backup дерева папок по маске


newb1e
27-07-2009, 16:32
Привет Всем! Нужна Ваша помощь!
Проблема такого характера :
Нужно проверить диск D на наличие всех файлов типа exe и сохранить их в отдельной директории согласно их нахождению . То есть :
имеем
D:\Shara\123.exe
D:\ABC\1112\setup.exe
и т.д.
в итоге надо получить backup в виде
D:\backup\Shara\123.exe
D:\backup\ABC\1112\setup.exe
и т.д.
Как реализовать ?

Petya V4sechkin
27-07-2009, 16:59
newb1e, если на другой диск, можно одной командой:
XCopy D:\*.exe E:\backup\ /S
На тот же диск примерно так:
@Echo Off
SetLocal EnableExtensions

Set BackupDir=D:\backup
For /F "Delims=" %%I In ('Dir D:\*.exe /A-D /B /S') Do (
Echo %%~I
XCopy "%%~I" "%BackupDir%%%~pI" >nul
)

Что делать, если папка backup уже существует перед копированием?

newb1e
27-07-2009, 17:16
Отлично ! Название папки неважно - поэтому решение 100%

Petya V4sechkin
27-07-2009, 17:23
newb1e, понимаете, если backup существует перед копированием на том же диске, надо с ней что-то сделать (иначе будет зацикливание, копирование в себя). Либо удалить, либо в цикле анализировать.

newb1e
27-07-2009, 17:28
Я понял что будет зацикливание - но на другой диск проблем не будет ! Так что меня это решение вполне устраивает ! Спасибо :up




© OSzone.net 2001-2012