Предистория:
На локальном сервере есть папка с подкаталогами различных бэкапов.
Необходимо на удаленном компе создавать папку с текущей датой и тупо туда скопировать ПОСЛЕДНИЕ СОЗДАННЫЕ бэкапы из подкаталогов.
Когда делаю эту процедуру в контретном подкаталоге, т.е указываю *.bak - всё супер гут. Но как только поднимаюсь на уровень выше и начинаю делать перебор по подкаталогам %%B\*.bak ... всё, мандец, приехал...

Код:
Код: Выделить всё
@echo off
cls
set sFolderName=%date:~6,4%-%date:~3,2%.%date:~0,2%
mkdir \\COMP1\d$\Backup_1c\"%sFolderName::=-%"
set work_dir=d:\Backup
for /d %%B in (%work_dir%\*) do (
echo %%B
for /f %%v in ('dir %%B\*.bak /b /T:A /A:-D /O:-D') do >nul copy %%~fv \\COMP1\d$\Backup_1c\"%sFolderName::=-%" &exit
)
pause============ результат================
Код:
Код: Выделить всё
Подпапка или файл \\COMP1\d$\Backup_1c\2016-09.22 уже существует.
d:\Backup\clients
Файл не найден
d:\Backup\diskont
Файл не найден
d:\Backup\kompl_nef
Файл не найден
d:\Backup\torg_nef
Файл не найден
d:\Backup\torg_pil
Файл не найден
d:\Backup\zakaz
Файл не найден
d:\Backup\zup_pil_82
Файл не найден
Для продолжения нажмите любую клавишу . . .Меня интересует, почему строка dir %%B\*.bak /b /T:A /A:-D /O:-D перестает работать, как только я там любым способом указываю конкретный путь?
такое ощущение что при использовании команды DIR сразу теряется смысл команды for in()
Что не так?
