База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как проверить наличие файлов в сетевой папке перед копированием с помощью батник › RE: Как проверить наличие файлов в сетевой папке перед копированием с помощью батник
21 июля 2025 в 12:45
#32990
bat
@echo on
setlocal
set "networkPath=\192.168.0.01cbackup1c_daily"
set "localPath=C:LocalBackup1c_daily"
set "username=1c"
set "password=1"
set "daysToKeep=1"
net use %networkPath% /user:%username% %password%
if errorlevel 1 (
echo error.
exit /b 1
)
forfiles /p "%localPath%" /s /m *.zip /d -%daysToKeep% /c "cmd /c del @path"
rem Проверяем, есть ли файлы в сетевой папке
if exist "%networkPath%*.zip" (
xcopy "%networkPath%*.zip" "%localPath%" /D:%date:~3,2%-%date:~0,2%-%date:~8% /Y /I
) else (
echo No new backup files found in the network path. Existing local files will not be deleted.
)
net use %networkPath% /delete
echo ready
endlocal
В этом измененном батнике добавлена проверка на наличие файлов в сетевой папке перед выполнением команды `xcopy`. Если файлов нет, выводится сообщение, и существующие локальные файлы не удаляются.