CMD/BAT - Нужна помощь

Ответить
Аватара пользователя
Семен_1

CMD/BAT - Нужна помощь

Сообщение Семен_1 »

Я понимаю, что тем по батникам у вас много… Перерыл ваш форум, половину интернета, и так нечего и не получилось…

В общем ситуация, следующая… Имеет батник которой из разных папок копирует файлы на сетевой диск, после копирования очищает старые файлы (старше 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

Re: CMD/BAT - Нужна помощь

Сообщение Семен_1 »

Я смотрю, просто, лес желающих помочь. Просто отбоя нет.

Спасибо за помощь.
Аватара пользователя
Семен_1

Re: CMD/BAT - Нужна помощь

Сообщение Семен_1 »

Мало, мало сарказма! Учитесь у отца Фёдора из «Двенадцати стульев».
Аватара пользователя
shisik

Re: CMD/BAT - Нужна помощь

Сообщение shisik »

Ого! Не знал, что еще и обязан кому-то Изображение
Аватара пользователя
subuday77

Re: CMD/BAT - Нужна помощь

Сообщение subuday77 »

Код:

Код: Выделить всё

::============================
@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

Как-то так.
Ответить

Вернуться в «Программирование и базы данных»