Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Название темы: Скрипт FOR и DIR
Показать сообщение отдельно
y-- y-- вне форума

Старожил


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

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


iskurt,
и все-таки с переделанной датой(для независимости от национальных настроек):
Код: Выделить весь код
@ECHO OFF
:: Указание пути для обработки
SET "WORK_DIR=d:\Backup"
:: Указание пути для хранения
SET "BACKUP_DIR=\\COMP1\d$\Backup_1c"

::Представление даты в нужном нам виде
ECHO wscript.ECHO YEAR(DATE) ^& "_" ^& RIGHT(0 ^& MONTH(DATE),2) ^& "." ^& RIGHT(0 ^& DAY(DATE),2)>"%TEMP%\tmp.vbs"
FOR /F %%i IN ('cscript "%TEMP%\tmp.vbs" //Nologo') DO SET "BACKUP_DIR=%BACKUP_DIR%\%%i"
IF EXIST "%TEMP%\tmp.vbs" DEL "%TEMP%\tmp.vbs"
ECHO Папка текущего дня "%BACKUP_DIR%"
IF NOT EXIST "%BACKUP_DIR%" MD "%BACKUP_DIR%"
IF NOT EXIST "%BACKUP_DIR%" (ECHO Не удалось создать папку текущего дня&EXIT 1)

FOR /d %%a IN ("%work_dir%\*") DO (
ECHO Папка для обработки "%%~a"
CALL :BakCopy "%%~a"
)
GOTO :EOF

:BakCopy
FOR /F "usebackq delims=" %%b in (`DIR "%~1" /B /T:A /A:-D /O:-D`) DO (
ECHO COPY "%%~fb" "%BACKUP_DIR%" &GOTO :EOF
)
GOTO :EOF
Лишние отладочные ECHO убрать и
Код: Выделить весь код
ECHO COPY "%%~fb" "%BACKUP_DIR%" &GOTO :EOF
заменить на
Код: Выделить весь код
COPY "%%~fb" "%BACKUP_DIR%" &GOTO :EOF

-------
Ты это - заходи если что...

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

Отправлено: 11:25, 23-09-2016 | #8

Название темы: Скрипт FOR и DIR