Войти

Показать полную графическую версию : Нужна помощь


Семен_1
13-08-2018, 14:41
Я понимаю, что тем по батникам у вас много… Перерыл ваш форум, половину интернета, и так нечего и не получилось…
В общем ситуация, следующая… Имеет батник которой из разных папок копирует файлы на сетевой диск, после копирования очищает старые файлы (старше 5ти дней). Все супер! Все работало! Но всплыла проблема… Бекапы перестали создаваться (почему – вопрос не в этой теме, там свои нюансы ), батник, как следствие, нечего не копирует, а вот очешет старые файлы с завидной четкостью. И получается, что новые бекапы не копируются, а старые удаляются…
Помогите, пожалуйста, организовать какую-то проверку для копирования, и если нечего не скопировано – то выход из батника, без очистки файлов…
Или запускать очистку, только, тогда, когда файлов больше 10, например, а если меньше или ровно 10 файлам в сетевом хранилище – то нечего не чистить…
Заранее благодарен…

Вот батник, который есть у меня…
::============================
@echo off
setlocal enableextensions enabledelayedexpansion

:: Подключаем сетевой диск Z
net use z: \\192.168.0.15\BackUp /USER:"Username" "passwords" /persistent:no

:: копируем бекапы 1С
xcopy /d /e "C:\1CBack\1\*.*" "Z:\"
xcopy /d /e "C:\1CBack\2\*.*" "Z:\"
xcopy /d /e "C:\1CBack\3\*.*" "Z:\"

:: удаляем файлы старше 5ти дней
forfiles -p Z:\ -s -m *.* -d -5 -c "cmd /c del /F /q @path"

:: Отключаем сетевой диск z
net use z: /delete /yes
::============================

Семен_1
14-08-2018, 15:47
Я смотрю, просто, лес желающих помочь. Просто отбоя нет.
Спасибо за помощь.

Iska
14-08-2018, 17:11
Мало, мало сарказма! Учитесь у отца Фёдора из «Двенадцати стульев».

shisik
14-08-2018, 17:41
Ого! Не знал, что еще и обязан кому-то :o

subuday77
28-08-2018, 16:51
::============================
@echo off
setlocal enableextensions enabledelayedexpansion
set A=0
:: Подключаем сетевой диск Z
net use z: \\192.168.0.15\BackUp /USER:"Username" "passwords" /persistent:no

:: копируем бекапы 1С
xcopy /d /e "C:\1CBack\1\*.*" "Z:\"
if %errorlevel% neq 0 set /a A=%A%+1
xcopy /d /e "C:\1CBack\2\*.*" "Z:\"
if %errorlevel% neq 0 set /a A=%A%+1
xcopy /d /e "C:\1CBack\3\*.*" "Z:\"
if %errorlevel% neq 0 set /a A=%A%+1
if %A%==0 (
:: удаляем файлы старше 5ти дней
forfiles -p Z:\ -s -m *.* -d -5 -c "cmd /c del /F /q @path"
)
:: Отключаем сетевой диск z
net use z: /delete /yes
Как-то так.




© OSzone.net 2001-2012