
И в самом деле, в корне папки Test1 файлы не копируются - моё недомыслие. Добавил это копирование:
Код:
Код: Выделить всё
@Echo Off
cls
Set "BoxIn=\\192.168.100.23\Test1"
Set "BoxOut=Z:\Box_Arc\Test1"
Set "LogFile=Z:\Box_Arc\%~nx0.log"
>>"%LogFile%" 2>>&1 (
Echo ==================================== %Date% %Time% "Start %~dpnx0"
Echo %Date% %Time% Begin XCopy "%BoxIn%"
Xcopy /D /Q /H /R /C /Y "%BoxIn%\*.*" "%BoxOut%\"
Echo %Date% %Time% End XCopy "%BoxIn%"
Echo.
FOR /F "usebackq delims=" %%d IN (`2^>nul Dir /B /A:D "%BoxIn%"`) DO (
Echo %Date% %Time% Begin XCopy "%BoxIn%\%%d"
Xcopy /D /Q /E /H /R /C /Y "%BoxIn%\%%d\*.*" "%BoxOut%\%%d\"
Echo %Date% %Time% End XCopy "%BoxIn%\%%d"
Echo.
)
)
pause
Exit /BЦитата finderhd:
И лучше наверное все-таки убрать возможность записи в лог.
Тогда это вообще одна строка
Код:
Код: Выделить всё
@Echo Off
cls
Set "BoxIn=\\192.168.100.23\Test1"
Set "BoxOut=Z:\Box_Arc\Test1"
Xcopy /D /Q /E /H /R /C /Y "%BoxIn%\*.*" "%BoxOut%\"
pause
Exit /BЯ бы предложил альтернативу: в лог писать только начало запуска и итог работы батника
Код:
Код: Выделить всё
@Echo Off
cls
Set "BoxIn=\\192.168.100.23\Test1"
Set "BoxOut=Z:\Box_Arc\Test1"
Set "LogFile=Z:\Box_Arc\%~nx0.log"
>>"%LogFile%" 2>&1 (
Echo ==================================== %Date% %Time% "Start %~dpnx0"
Xcopy /D /Q /E /H /R /C /Y "%BoxIn%\*.*" "%BoxOut%\"
)
pause
Exit /BИ, наконец, до меня только дошло, что возможно Вы бездумно вставили мой код в планировщик и поэтому Вы обнаружили
Цитата finderhd:
что если запускать батник через планировщик задач, а именно так и нужно будет (во внерабочее время) то в History не видно, что он отработал (нет записи Task Completed, только Action Started), как будто он до сих пор висит в памяти.
Если в коде присутствует Pause (а я её оставлял, чтобы посмотреть на результат исполнения в командном окне), то батник в планировщике естественно никогда не завершится, Pause требует ответа. Убейте её, или напишите
Rem Pause
Надеюсь, Ваша реакция последует несколько раньше, чем Новый Год
