Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Обновления информации на USB (разделе HDD)

Ответить
Настройки темы
CMD/BAT - Обновления информации на USB (разделе HDD)

Аватара для SergioBS

Новый участник


Сообщения: 45
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: SergioBS
Дата: 13-01-2020
Встал вопрос, как организовать обновления для USB диска (вес 32Gb) - перекачивать все целиком ни каждый захочет...

Рассматриваю вариант:
1. SFX WinRAR, который будет на нужный usb (или раздел HDD, буква у всех своя, самостоятельно указав в корень раздела) - распаковывать каталоги c новыми версиями программ. Но как быть со старыми каталогами? Думаю можно решить этот вопрос bat(cmd) файлом, что бы он удалял каталоги со всем содержимым и списком из разных директорий, после распаковки запускать средствами sfx - bat(cmd) из корня Flash. Но есть как минимум два вопроса... Названия каталогов на русском и пробелы в названиях. Не подумал сразу над структурой диска. Весь софт находится в папке winsoft (в корне диска) в ней рубрики, в ней папки с программами названия которых имеют пробелы.

Пример USB:\winsoft\Графика\WinSnap v5.1.6 - там файлы и возможно каталоги, которые нужно потом удалять, после распаковки новых версий.

Нужна помощь!

-------
Дурак спорит с каждым, умный - с равным, а мудрый - лишь с самим собой


Отправлено: 10:51, 13-01-2020

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Ну, в таком случае, если учитывать всё вышеизложенное, то я не знаю готовых инструментов для озвученного. Ибо, например, если в извлечённом образе будет MyProgramm 2.0, затем будет «патч» его до MyProgramm 2.1, а затем будет ещё один «патч» до MyProgramm 2.2 — то надо будет учитывать возможность наличия и MyProgramm 2.0, и MyProgramm 2.1. И так далее.

Написать, конечно, можно. Но лично мне — не особо интересно.

Отправлено: 19:54, 13-01-2020 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Аватара для SergioBS

Новый участник


Сообщения: 45
Благодарности: 0

Профиль | Отправить PM | Цитировать


Iska,
Думал, все намного проще сделать. Не применять патчеры для каждой папки и файлов... а создавать с помощью SFX новые каталоги, а bat(cmd) должен удалять старые, точнее сначала удалять OLD директории, а потом SFX извлекать новые.

megaloman,
Так и есть. В самораспаковщике путь будет относительно корня USB Flash - или раздела HDD (буква у всех своя).
Т.е состав Обновления думал сделать таким образом.

Здесь лишний каталог \чтотоеще\
USB:\winsoft\Антивирус\чтотоеще\нечто v5.1.6?
"2. Имя папки с новой версией образуется по принципу: имябезпробела v5.1.6?" Нет она будет извлекаться каталогом имявозможенпробел v5.1.7, а батник должен удалить OLD каталог имябезпробела v5.1.6

Листинг UPD01 (Январь 2020):

# Directory Lister v2 listing
# Создано 14-01-2020 05:07 с помощью Directory Lister v2.36

Имя
---------------------------------------------------
MUROMEC2020\!!!UPD\SOFT\winsoft (0)
---------------------------------------------------
<Windows>
<Антивирусы>
<Графика>
<Интернет>
<Мультимедиа>
<Офис>
<Утилиты>
---------------------------------------------------
MUROMEC2020\!!!UPD\SOFT\winsoft\Windows (0)
---------------------------------------------------
<StartIsBack AIO v1.0.18>
<TeamViewer v15.1.3937>
---------------------------------------------------
MUROMEC2020\!!!UPD\SOFT\winsoft\Windows\StartIsBack AIO v1.0.18 (5)
---------------------------------------------------
_About.txt
_Readme.txt
_Silent Install.cmd
StartIsBack AiO 1.0.18.exe
Описание.txt
---------------------------------------------------
MUROMEC2020\!!!UPD\SOFT\winsoft\Windows\TeamViewer v15.1.3937 (9)
---------------------------------------------------
__About.txt
__Readme.txt
__ResetID.png
_Create installation script.cmd
_Silent Install.cmd
_Silent scripted installation.cmd
_Unpack Portable.cmd
TeamViewer 15.1.3937.exe
Описание.txt
---------------------------------------------------
MUROMEC2020\!!!UPD\SOFT\winsoft\Антивирусы (0)
---------------------------------------------------
<Windows Firewall Control v6.1.0.0>
---------------------------------------------------
MUROMEC2020\!!!UPD\SOFT\winsoft\Антивирусы\Windows Firewall Control v6.1.0.0 (6)
---------------------------------------------------
_About.txt
_Readme.txt
_Silent Install.cmd
_Unpack Portable.cmd
Windows Firewall Control 6.1.0.0.exe
Описание.txt
---------------------------------------------------
MUROMEC2020\!!!UPD\SOFT\winsoft\Графика (0)
---------------------------------------------------
<Perfectly Clear v3.9.0.1722>
<WinSnap v5.1.7>
---------------------------------------------------
MUROMEC2020\!!!UPD\SOFT\winsoft\Графика\Perfectly Clear v3.9.0.1722 (5)
---------------------------------------------------
_About.txt
_Readme.txt
_Silent Install.cmd
Athentech Perfectly Clear Complete 3.9.0.1722.exe
Описание.txt
---------------------------------------------------
MUROMEC2020\!!!UPD\SOFT\winsoft\Графика\WinSnap v5.1.7 (6)
---------------------------------------------------
_About.txt
_Readme.txt
_Silent Install.cmd
_Unpack Portable.cmd
WinSnap 5.1.7.exe
Описание.txt
---------------------------------------------------
MUROMEC2020\!!!UPD\SOFT\winsoft\Интернет (0)
---------------------------------------------------
<viber v12.2.0.54>
---------------------------------------------------
MUROMEC2020\!!!UPD\SOFT\winsoft\Интернет\viber v12.2.0.54 (6)
---------------------------------------------------
_About.txt
_Readme.txt
_Silent Install.cmd
_Unpack Portable.cmd
Viber 12.2.0.54.exe
Описание.txt
---------------------------------------------------
MUROMEC2020\!!!UPD\SOFT\winsoft\Мультимедиа (0)
---------------------------------------------------
<EZ CD Audio Converter v9.0.7.1>
<MKVToolNix v42.0.0>
<VidCoder v5.14>
---------------------------------------------------
MUROMEC2020\!!!UPD\SOFT\winsoft\Мультимедиа\EZ CD Audio Converter v9.0.7.1 (6)
---------------------------------------------------
_About.txt
_Readme.txt
_Silent Install.cmd
_Unpack Portable.cmd
EZ CD Audio Converter 9.0.7.1.exe
Описание.txt
---------------------------------------------------
MUROMEC2020\!!!UPD\SOFT\winsoft\Мультимедиа\MKVToolNix v42.0.0 (6)
---------------------------------------------------
_About.txt
_Readme.txt
_Silent Install.cmd
_Unpack Portable.cmd
MKVToolNix 42.0.0.exe
Описание.txt
---------------------------------------------------
MUROMEC2020\!!!UPD\SOFT\winsoft\Мультимедиа\VidCoder v5.14 (6)
---------------------------------------------------
_About.txt
_Readme.txt
_Silent Install.cmd
_Unpack Portable.cmd
VidCoder 5.14.exe
Описание.txt
---------------------------------------------------
MUROMEC2020\!!!UPD\SOFT\winsoft\Офис (0)
---------------------------------------------------
<VueScan v9.7.20>
---------------------------------------------------
MUROMEC2020\!!!UPD\SOFT\winsoft\Офис\VueScan v9.7.20 (7)
---------------------------------------------------
_About.txt
_Readme.txt
_Silent Install.cmd
_Unpack Portable.cmd
VueScan 9.7.20.exe
Описание.txt
Руководство.chm
---------------------------------------------------
MUROMEC2020\!!!UPD\SOFT\winsoft\Утилиты (0)
---------------------------------------------------
<PrivaZer v3.0.86>
<Windows 10 Manager v3.2.0>
<z-info v1.0.19>
---------------------------------------------------
MUROMEC2020\!!!UPD\SOFT\winsoft\Утилиты\PrivaZer v3.0.86 (6)
---------------------------------------------------
_About.txt
_Readme.txt
_Silent Install.cmd
_Unpack Portable.cmd
PrivaZer 3.0.86.exe
Описание.txt
---------------------------------------------------
MUROMEC2020\!!!UPD\SOFT\winsoft\Утилиты\Windows 10 Manager v3.2.0 (6)
---------------------------------------------------
_About.txt
_Readme.txt
_Silent Install.cmd
_Unpack Portable.cmd
Windows 10 Manager 3.2.0.exe
Описание.txt
---------------------------------------------------
MUROMEC2020\!!!UPD\SOFT\winsoft\Утилиты\z-info v1.0.19 (6)
---------------------------------------------------
_About.txt
_Readme.txt
_Silent Install.cmd
_Unpack Portable.cmd
Z-Info 1.0.19.exe
Описание.txt
---------------------------------------------------

Общий размер обновления 332mb

Пока, как лучше и без гоморойнее организовать обновления в голову не приходит...

-------
Дурак спорит с каждым, умный - с равным, а мудрый - лишь с самим собой


Последний раз редактировалось SergioBS, 14-01-2020 в 06:21. Причина: Уточнения


Отправлено: 03:54, 14-01-2020 | #12


Ветеран


Contributor


Сообщения: 2708
Благодарности: 1684

Профиль | Отправить PM | Цитировать


SergioBS,
Попробуйте вариант удаления старых версий. Для боевой работы уберите красное Echo
Код: Выделить весь код
@Echo Off
Cls
	Set "BoxIn=WinSoft"

	Set "SpisD="
	Set /A N=1
	Set "@@D%N%=A"
	FOR /F "usebackq tokens=1 skip=1 delims=:" %%i IN (`"wmic logicaldisk get caption | FINDSTR /R /C:"[A-Z]""`) DO (
		Call Set /A N+=1
		Call Set "@@D%%N%%=%%i" 
		Call Set "SpisD=%%SpisD%%%%i"
	)

	CHOICE /C A%SpisD% /M "%SpisD%-select a drive letter,  A-Complete batch file"
	Call Set "DBoxIn=%%@@D%ErrorLevel%%%:\%BoxIn%"
	If %Errorlevel%==1 Exit /B 0
	If Not Exist "%DBoxIn%" (
		Echo Folder "%DBoxIn%" not found
		Pause
		Exit /B 2
	)
	
	FOR /F "usebackq delims=" %%R IN (`2^>nul Dir "%DBoxIn%" /B /A:D`) Do (
		FOR /F "usebackq delims=" %%d IN (`2^>nul Dir "%DBoxIn%\%%R" /B /T:C /O:-D /A:D`) Do (
			Call :MyRD "%DBoxIn%\%%R\" %%d
		)
	)
Pause
Exit /B

:MyRD
	Set "Mask=%2"
	:Begin
		If "%4"=="" GoTo :End
		Set "Mask=%Mask% %3"
		Shift /2
	:End
	FOR /F "usebackq skip=1 delims=" %%i IN (`2^>nul Dir "%~1%Mask%*" /B /T:C /O:-D /A:D`) Do Echo Rd /S /Q "%~1%%i"
Exit /B
При наличии красного Echo ничего не удаляется, только отображаются папки, которые необходимо удалить
Распаковку не сделал, не знаю, как в самораспаковывающимуся архиву указать в пакетном файле диск.

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 14-01-2020 в 16:47.


Отправлено: 14:57, 14-01-2020 | #13


Аватара для SergioBS

Новый участник


Сообщения: 45
Благодарности: 0

Профиль | Отправить PM | Цитировать


megaloman,
Какие каталоги нужно удалить посредством *.bat после добавления каталогов посредством SFX с новыми версиями программ

winsoft - основной каталог в корне USB(HDD) с программами Windows:

Каталоги разделов, которые затронуло обновление
<Windows>
<Антивирусы>
<Графика>
<Интернет>
<Мультимедиа>
<Офис>
<Утилиты>
---------------------------------------------------------
Каталоги для удаления в \winsoft\Windows
---------------------------------------------------------
Удалить <StartIsBack AiO v1.0.17> - SFX добавил каталог StartIsBack AIO v1.0.18
SFX добавил новую программу TeamViewer v15.1.3937
---------------------------------------------------------
Каталоги для удаления в \winsoft\Антивирусы
---------------------------------------------------------
Удалить <Windows Firewall Control v6.0.2.0> - SFX добавил каталог Windows Firewall Control v6.1.0.0
---------------------------------------------------------
Каталоги для удаления в \winsoft\Графика
---------------------------------------------------------
Удалить <Athentech Perfectly Clear workbench v3.9.0.1710> - SFX добавил каталог Perfectly Clear v3.9.0.1722
Удалить <WinSnap v5.1.6> - SFX добавил каталог WinSnap v5.1.7
---------------------------------------------------------
Каталоги для удаления в \winsoft\Интернет
---------------------------------------------------------
Удалить <Viber v12.1.0.29> - SFX добавил каталог viber v12.2.0.54
---------------------------------------------------------
Каталоги для удаления в \winsoft\Мультимедиа
---------------------------------------------------------
Удалить <EZ CD Audio Converter v9.0.5.1> - SFX добавил каталог EZ CD Audio Converter v9.0.7.1
Удалить <VidCoder v5.13> - SFX добавил каталог VidCoder v5.14
---------------------------------------------------------
Каталоги для удаления\winsoft\Офис
---------------------------------------------------------
Удалить <VueScan v9.7.18> - SFX добавил каталог VueScan v9.7.20
---------------------------------------------------------
Каталоги для удаления в \winsoft\Утилиты
---------------------------------------------------------
Удалить <PrivaZer v3.0.85> - SFX добавил каталог PrivaZer v3.0.86
Удалить <Windows 10 Manager v3.1.9> - SFX добавил каталог Windows 10 Manager v3.2.0
Удалить <Z-Info v1.0.18> - SFX добавил каталог Z-Info v1.0.19

Не совсем понял как отрабатывает Ваш скрипт и что он удаляет

Указал букву, скрипт отработал, каталоги остались на месте...
В скрипте я сам хотел писать, какие каталоги нужно удалять, в зависимости от того, что обновлялось (версия программы).

-------
Дурак спорит с каждым, умный - с равным, а мудрый - лишь с самим собой


Отправлено: 17:08, 14-01-2020 | #14


Ветеран


Contributor


Сообщения: 2708
Благодарности: 1684

Профиль | Отправить PM | Цитировать


Цитата SergioBS:
Не совсем понял как отрабатывает Ваш скрипт и что он удаляет »
- ничего не удаляет, раз в окне отражаются команды RD. Мне хотелось, чтобы Вы убедились, правильные ли каталоги собирается удалить скрипт. И всё. А для боевой работы я Вас умолял
Цитата megaloman:
Для боевой работы уберите красное Echo »
Оно перед RD в последнем For

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Отправлено: 17:14, 14-01-2020 | #15


Аватара для SergioBS

Новый участник


Сообщения: 45
Благодарности: 0

Профиль | Отправить PM | Цитировать


Нет скрипт удаляет совсем не те каталоги, которые добавились с новыми версиями программ. Для этого обновления нужно удалить каталоги которые есть под спойлером в предыдущем посте. Автоматом этого не сделаешь.
Нужен пример батника, типа
chcp 1251 >nul
RD /s/q БУКВА\winsoft\Графика\WinSnap v5.1.6
Где БУКВА - относительный путь к папке winsoft (батник будет лежать в той же директории, где и папка) - не знаю как прописать относительный путь, должен быть с учетом, что каталоги имеют русское название (это категория софта) и имеют пробелы в названиях... Папки для удаления я бы сам добавлял по мере необходимости, зная что обновлялось и что нужно удалить

-------
Дурак спорит с каждым, умный - с равным, а мудрый - лишь с самим собой


Последний раз редактировалось SergioBS, 14-01-2020 в 17:35.


Отправлено: 17:19, 14-01-2020 | #16


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата SergioBS:
Думал, все намного проще сделать. »
SergioBS, проще не получится. Вам так и так надо будет учитывать и «торопыг», и «ленивцев». Например, как я уже выше писал, в образе была версия некоего приложения 2.0. Затем Вы сделали обновление до версии 2.1. Затем Вы делаете обновление до версии 2.2. И в этом обновлении Вам нужно будет учесть как тех, кто ещё не обновился с 2.0, так и тех, кто уже обновился до версии 2.1 Вашим же предыдущим обновлением. А потом будет 2.22, 2.3, 2.4 и т.д. Понимаете?

Отправлено: 17:24, 14-01-2020 | #17


Аватара для SergioBS

Новый участник


Сообщения: 45
Благодарности: 0

Профиль | Отправить PM | Цитировать


Iska, Другой метод использую. Была папка "Моя программа 1.0" SFX добавил папку "Моя программа 1.5" и батник затер папку "Моя программа 1.0" Сборка обновлена, все... Проще говоря нужен батник в котором можно написать какие каталоги нужно удалять (старые версии софта), применимо к каждому обновлению. Обновления не накопительные. Либо прописывать в батнике все каталоги. которые обновлялись - удалить каталог "Моя программа 1.0", "Моя программа 1.5" если появилась "Моя программа 1.6"

-------
Дурак спорит с каждым, умный - с равным, а мудрый - лишь с самим собой


Последний раз редактировалось SergioBS, 14-01-2020 в 17:59.


Отправлено: 17:42, 14-01-2020 | #18


Ветеран


Contributor


Сообщения: 2708
Благодарности: 1684

Профиль | Отправить PM | Цитировать


SergioBS, Я понимал задачу так:
До работы SFX была папка, допустим "тра ля ля 1.321"
Возможно были и "тра ля ля 1.381.5.987" и т д
После SFX добавилась папка "тра ля ля бог.его.знает"
Скрипт сортирует все папки по маске тра ля ля *" по времени создания и удаляет все, кроме последней созданной -
"тра ля ля бог.его.знает"
Цитата SergioBS:
Для этого обновления нужно удалить каталоги которые есть под спойлером в предыдущем посте. »
А что под спойлером? Этот текст есть где-то в виде файла? Его можно пролопатить батником?
Цитата SergioBS:
Папки для удаления я бы сам добавлял по мере необходимости, зная что обновлялось и что нужно удалить »
В каком виде? Вы хотите вести список удаляемых папок в каком-то файле?

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 14-01-2020 в 18:01.


Отправлено: 17:53, 14-01-2020 | #19


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата SergioBS:
Обновления не накопительные. »
Тогда проще, простите, не мудить белым светом, а время от времени тупо загружать полный образ — на мой взгляд, разумеется.

Отправлено: 18:14, 14-01-2020 | #20



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Обновления информации на USB (разделе HDD)

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [решено] После обновления драйвера Nvidia, место на системном разделе уменьшилось на 6Гб darthvedar Microsoft Windows 7 3 23-09-2014 04:50
Разное - Потеря данных на разделе hdd IDimon Накопители (SSD, HDD, USB Flash) 1 22-05-2012 14:51
Flash - Загрузка из vhd на разделе ext3 (программа для USB) Ilya21 Программное обеспечение Linux и FreeBSD 0 08-03-2012 08:42
HDD - Гарантированно убить носитель информации на HDD. __sa__nya Накопители (SSD, HDD, USB Flash) 27 07-08-2008 15:00
При продолжении установки ошибка обновления информации о разделах на диске Dj-XGT Хочу все знать 21 08-11-2007 05:45




 
Переход