Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/18: Рейтинг темы: голосов - 18, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 17.09.2019
Сообщений: 90

Нужен батник который делает архив папки, копирует ее на локальный компьютер и на сервер

09.10.2020, 09:04. Показов 4393. Ответов 50
Метки bat, cmd (Все метки)

Студворк — интернет-сервис помощи студентам
Нужен батник который делает архив папки, копирует ее на локальный компьютер и на сервер, делает 20 копий а потом удаляет самый старый. В имени файла архива должно быть Имя компьютера: DDMMYYYYHHMMSS. Чтобы независимо где находится работал не указывая пути и реализовать это все нужно через переменные. Спасибо заранее!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.10.2020, 09:04
Ответы с готовыми решениями:

Нужен батник, который копирует содержимое одной папки в другую
Вот такой код, который копирует содержимое одной папки в другую! Но есть несколько нерешенных проблем! @echo off set...

Написать батник, который копирует содержимое всех файлов папки в результирующие файлы того же типа
Было дано задание: написать батник, который копирует содержимое всех файлов папки в результирующие файлы того же типа, т. е. все .txt в...

Батник картинки из папки по очереди делает фоном Рабочего стола
Доброго утра всем . Задался целью собрать bat , который сменял бы фон .По сети скрипт нашёл только он с расширением bmp работает . Хм...

50
Злостный нарушитель
 Аватар для Verevkin
10637 / 5788 / 1278
Регистрация: 12.03.2015
Сообщений: 26,729
09.10.2020, 09:24
Я юзаю вот такой скрипт для своих проектов. Допили под свои хотелки.
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
:: архивирование и залив на FTP-файлопомойку.
cd /d "%~dp0"
chcp 65001
cls
 
set PROJ_NAME=mega_project
 
:: локальная папка, куды архивировать
set LOCAL_PATH=k:\ftp\my\%PROJ_NAME%
:: имя архива с путём 
set ARC_NAME=%LOCAL_PATH%\%PROJ_NAME%.7z
:: URL архива на FTP-сервере после закачки его втуды
set URL=ftp://filejunkyard.ru/my/%PROJ_NAME%/%PROJ_NAME%.7z
 
:: ---------- удаление старой копии архива ------------
if exist %ARC_NAME% del %ARC_NAME%
if not errorlevel 0 goto error
 
:: ----------------- архивирование --------------------
%SOFT%\7-Zip\7z.exe a %ARC_NAME% * x=9 -r -x@excludes.txt
if not errorlevel 0 goto error
 
:: ----------------- закачка на FTP -------------------
cd /d %LOCAL_PATH%
ncftpput -u admin -p ************ -m filejunkyard.ru /my/%PROJ_NAME% %PROJ_NAME%.7z
if not errorlevel 0 goto error
 
::pause
:: ---------------- выход без ошибок ------------------
:success
@echo                   ########################################
@echo                   #          ВСЁ НИШТЯК, ЧУВАК!!!        #
@echo                   ########################################
@echo .
 
:: копирование ссылки на скачивание в буфер обмена
@echo %URL% | clip
timeout /t 2
exit
 
:: ---------------- выход по ошибке -------------------
:error
@echo ********* Error #%errorlevel% ***********
pause
З.Ы. ncftpput - это консольная закачка на FTP со всякими свистоперделками. Из пакета ncftp.
0
0 / 0 / 0
Регистрация: 17.09.2019
Сообщений: 90
09.10.2020, 09:58  [ТС]
Я не совсем шарю в этом, у меня есть вот такой код, его нужно сделать универсальным.

Code
1
2
3
4
"C:\Program Files\WinRAR\7z.exe" a -afzip -agDDMMYYYYHHMMSS -ep1 "D:\Табель МЕД\%COMPUTERNAME%"
xcopy "D:\Табель МЕД\*.rar" "\\Server\ГрафикиИТабели\Табель ПАТ\*.*"
dir "D:\Табель МЕД\*.rar" /a:-D/b/o:-D > list_of_files.txt
for /F <skip=19> %%i in (list_of_files.txt) do (del /Q <%%i>)
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
09.10.2020, 13:10
Цитата Сообщение от Sh0ck3r Посмотреть сообщение
Нужен батник который делает архив папки, копирует ее на локальный компьютер и на сервер
Конкретнее в части путей
Цитата Сообщение от Sh0ck3r Посмотреть сообщение
делает 20 копий а потом удаляет самый старый
Ежедневных или ежесекундных?
Цитата Сообщение от Sh0ck3r Посмотреть сообщение
В имени файла архива должно быть Имя компьютера: DDMMYYYYHHMMSS
Расшифруйте DDMMYYYYHHMMSS. Я так понял, что числовой формат даты деньмесяцгод. Что значит оставшаяся часть неясно
Цитата Сообщение от Sh0ck3r Посмотреть сообщение
Чтобы независимо где находится работал не указывая пути и реализовать это все нужно через переменные
Поясните
0
0 / 0 / 0
Регистрация: 17.09.2019
Сообщений: 90
09.10.2020, 13:34  [ТС]
1) D:\Backup; \\Server\ГрафикиИТабели должен создаться архив 7-zip и скинуться в эти 2 папки. На лок. комп и на серв;
2) Ежедневных;
3) HH - это часы, MM - минуты, SS - секунды;
4) Чтобы срабатывал в любом месте откуда не запустили.
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
09.10.2020, 13:45
Цитата Сообщение от Sh0ck3r Посмотреть сообщение
Чтобы срабатывал в любом месте откуда не запустили.
В любом месте в рамках данного компьютера?
0
0 / 0 / 0
Регистрация: 17.09.2019
Сообщений: 90
09.10.2020, 13:49  [ТС]
Да на этом компьютере.
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
09.10.2020, 15:05
Sh0ck3r, пробуйте:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
@echo off
setlocal enabledelayedexpansion
set mod_date=%date:.=%
set mod_time=%time::=%
pushd "D:\Табель МЕД\%COMPUTERNAME%"
"C:\Program Files\7-Zip\7z.exe" a -tzip "%COMPUTERNAME%_%mod_date%%mod_time:~,-3%.zip" "D:\Табель МЕД\%COMPUTERNAME%"
popd
xcopy "D:\Табель МЕД\%COMPUTERNAME%\%COMPUTERNAME%_%mod_date%%mod_time:~,-3%.zip" "\\Server\ГрафикиИТабели\Табель ПАТ\"
xcopy "D:\Табель МЕД\%COMPUTERNAME%\%COMPUTERNAME%_%mod_date%%mod_time:~,-3%.zip" "D:\Backup\"
for %%a in ("D:\Backup\*.zip") do (
    set /A count_1+=1
    if !count_1! geq 20 (
        pushd "D:\Backup\*.zip"
        for /f "tokens=* delims=" %%a in ('dir *.zip /a-d/b/o-d/tw') do (
            set /A count_2+=1
            if !count_2!==1 (
                del /f /q "%%a"
            )
        )
        popd
    )
)
set count_1=
set count_2=
for %%a in ("\\Server\ГрафикиИТабели\Табель ПАТ\*.zip") do (
    set /A count_1+=1
    if !count_1! geq 20 (
        pushd "\\Server\ГрафикиИТабели\Табель ПАТ\*.zip"
        for /f "tokens=* delims=" %%a in ('dir *.zip /a-d/b/o-d/tw') do (
            set /A count_2+=1
            if !count_2!==1 (
                del /f /q "%%a"
            )
        )
        popd
    )
)
pause
Примечание. Код сохраняем в кодировке OEM-866
0
0 / 0 / 0
Регистрация: 17.09.2019
Сообщений: 90
09.10.2020, 15:28  [ТС]
Вот такое выдало:
Миниатюры
Нужен батник который делает архив папки, копирует ее на локальный компьютер и на сервер  
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
09.10.2020, 15:44
Моя ошибка. Пробуйте исправленный вариант:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
@echo off
setlocal enabledelayedexpansion
set mod_date=%date:.=%
set mod_time=%time::=%
pushd "D:\Табель МЕД\%COMPUTERNAME%"
"C:\Program Files\7-Zip\7z.exe" a -tzip "%COMPUTERNAME%_%mod_date%%mod_time:~,-3%.zip" "D:\Табель МЕД\%COMPUTERNAME%"
popd
xcopy "D:\Табель МЕД\%COMPUTERNAME%\%COMPUTERNAME%_%mod_date%%mod_time:~,-3%.zip" "\\Server\ГрафикиИТабели\Табель ПАТ\"
xcopy "D:\Табель МЕД\%COMPUTERNAME%\%COMPUTERNAME%_%mod_date%%mod_time:~,-3%.zip" "D:\Backup\"
for %%a in ("D:\Backup\*.zip") do (
    set /A count_1+=1
    if !count_1! geq 20 (
        pushd "D:\Backup"
        for /f "tokens=* delims=" %%a in ('dir *.zip /a-d/b/o-d/tw') do (
            set /A count_2+=1
            if !count_2!==1 (
                del /f /q "%%a"
            )
        )
        popd
    )
)
set count_1=
set count_2=
for %%a in ("\\Server\ГрафикиИТабели\Табель ПАТ\*.zip") do (
    set /A count_1+=1
    if !count_1! geq 20 (
        pushd "\\Server\ГрафикиИТабели\Табель ПАТ"
        for /f "tokens=* delims=" %%a in ('dir *.zip /a-d/b/o-d/tw') do (
            set /A count_2+=1
            if !count_2!==1 (
                del /f /q "%%a"
            )
        )
        popd
    )
)
pause
0
0 / 0 / 0
Регистрация: 17.09.2019
Сообщений: 90
09.10.2020, 15:57  [ТС]
Такая же ошибка(
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
09.10.2020, 16:00
После 7 строчки поставьте паузу, запустите скрипт и покажите вывод, а так же проверьте создался ли корректно архив в каталоге D:\Табель МЕД\%COMPUTERNAME%
0
0 / 0 / 0
Регистрация: 17.09.2019
Сообщений: 90
09.10.2020, 16:04  [ТС]
Ничего не создает(
Вот такое пишет:
Миниатюры
Нужен батник который делает архив папки, копирует ее на локальный компьютер и на сервер  
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
09.10.2020, 16:07
Разбираемся с путями. Ещё раз:
1) Полный путь к папке, которую нужно заархивировать
0
0 / 0 / 0
Регистрация: 17.09.2019
Сообщений: 90
09.10.2020, 16:10  [ТС]
D:\Табель (и тут название отделения,может быть ЛОР, Хирург и т.д.)
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
09.10.2020, 16:12
Цитата Сообщение от Sh0ck3r Посмотреть сообщение
D:\Табель (и тут название отделения,может быть ЛОР, Хирург и т.д.)
Каждый подкаталог 1 уровня каталога D:\Табель нужно архивировать?
0
0 / 0 / 0
Регистрация: 17.09.2019
Сообщений: 90
09.10.2020, 16:18  [ТС]
Он всегда находится по этому пути, просто в названии табель и отделение. А папка одна, в ней файлы. У всех разное название папки, на разных компьютерах. Поэтому и имя компьютера в названии архива, чтобы знать какое отделение. А все они будут залетать на сервер в папку.
Вложения
Тип файла: rar Табель МЕД.rar (572.7 Кб, 6 просмотров)
0
0 / 0 / 0
Регистрация: 17.09.2019
Сообщений: 90
09.10.2020, 16:21  [ТС]
Слово табель есть у всех, а далее отличается в зав-ти от отделения.
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
09.10.2020, 16:25
Теперь понял. Ежели у всех разное название папки, то она (D:\Табель и т.д.) должна лежать в папке, у которой будет одинаковое имя независимо от компьютера

Добавлено через 1 минуту
Или это не вариант сделать?
0
0 / 0 / 0
Регистрация: 17.09.2019
Сообщений: 90
09.10.2020, 16:26  [ТС]
Тогда пусть будет МЕД у всех, я переименую.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.10.2020, 16:26
Помогаю со студенческими работами здесь

Батник который делает txt файл в 1 строчку !
Простите что спешу но очень надо. Не пишите не по теме , пожалуйста. Суть такова я имею файл 1.txt Вот примерное его содержимое: ...

Создать батник, который запускает файлы из указанной папки по афавиту
помогите создать батник который запускает файлы из указанной папки по афавиту и с заданным в милисек. паузой между запусками, без указания...

Нужно сделать батник, который бы следил за содержимым определенной папки...
...написать батник, который бы следил за содержимым определенной папки и при добавлении в нее новых файлов батник должен создавать ярлык на...

Нужен батник для сканирования сетевой папки
1 .Нужен батник, для копирование сетевой папки \\server\с:\test\updates на \\cliet\d:\updates 2. батник с перво сканировал сетевую папку...

Батник, который запрашивает имя папки и выводит отсортированные элементы по дате
Батник, который запрашивает имя папки и выводит отсортированные элементы по дате. Помогите, пожалуйста.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита табличной части. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru