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

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

Ветеран


Contributor


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

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


Код: Выделить весь код
@Echo Off
cls

Set "sFolderName=\\COMP1\d$\Backup_1c\%date:~6,4%-%date:~3,2%.%date:~0,2%"
Set "work_dir=D:\Backup"

MD "%sFolderName%" 2>nul

for /d %%B in ("%work_dir%\*") Do Call :BakCopy "%%B\*.bak"
pause
GoTo :Eof

:BakCopy
	FOR /F "usebackq delims=" %%v in (`dir %1 /b /T:A /A:-D /O:-D 2^>nul`) Do (
		Echo copy "%~dp1%%v" "%sFolderName%\"
		>nul copy "%~dp1%%v" "%sFolderName%\" &GoTo :Eof
	)
GoTo :Eof
Что не так?
1. Например, exit вызывает не только выход из цикла, но и завершение батника. Из-за этого обрабатывается только первая выданная командой Dir папка. Читаем хелп по команде Exit /?
2. Не понимаю, зачем нужно "%sFolderName::=-%"

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 22-09-2016 в 22:48.

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

Отправлено: 22:20, 22-09-2016 | #2

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