Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для ShaddyR

Железных Дел Мастер


Moderator


Сообщения: 24786
Благодарности: 4545

Профиль | Сайт | Отправить PM | Цитировать


можно.. отчего ж нельзя?
Примем константой имя CD - например, Е:
Тогда:
!run.bat
Код: Выделить весь код
@echo off
cls
set cdd=e:
for /f  "usebackq delims=="   %%i in (`"dir "%cdd%" /ad /b"`) do call work.bat "%%i"
echo Ok
pause
work.bat
Код: Выделить весь код
@echo off
set CDD=E:
set BAK_DIR=D:\back\CD
IF EXIST "%cdd%\%1"\*.rar goto work
echo Skipped: %1
goto exit
:work
echo --} Processing folder "%1"
MD %BAK_DIR%\%1
xcopy "%cdd%\%1"\*.rar  "%BAK_DIR%\%1"\*.rar /q /h
echo {-- Ready: "%1"

:exit
Общий смысл какой: берется список папок с диска Е:, делается перебор их. В процессе перебора в папке, указанной в переменной BAK_DIR создается папка с тем же именем, что и на диске и копируются все файлы с расширением .rar. Папки, не содержащие в корне ни одного rar-a пропускаются. На экран выводится отчет - какие папки обработаны, какие пропущены и сколько файлов скопировано.
Если изменить команду копирования следующим образом, копироваться будут файлы, находящиеся во вложенных папках (при условии, что в корневой был хоть один rar):
xcopy "%cdd%\%1"\*.exe "%BAK_DIR%\%1"\*.exe /q /h /e

-------
[FAQ] Как определить аппаратную конфигурацию компьютера и правильно задать вопрос
-------
В благодарность за помощь нажимаем ссылочку "Полезное сообщение" внизу этого самого сообщения (подробнее). Помните: админ конфеты НЕ ПЬЁТ ;)
-------
Говори, что думаешь и думай, что говоришь! (c) || МОЙ ShaddyR.at.UA/blog - Новая метла и инвентаризация)

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:27, 05-09-2007 | #2