Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Backup дерева папок по маске (http://forum.oszone.net/showthread.php?t=146373)

newb1e 27-07-2009 16:32 1179057

Backup дерева папок по маске
 
Привет Всем! Нужна Ваша помощь!
Проблема такого характера :
Нужно проверить диск 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 1179076

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 1179093

Отлично ! Название папки неважно - поэтому решение 100%

Petya V4sechkin 27-07-2009 17:23 1179106

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

newb1e 27-07-2009 17:28 1179112

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


Время: 06:15.

Время: 06:15.
© OSzone.net 2001-