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

Компьютерный форум 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

 

Аватара для SergioBS

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


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

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


megaloman,
Под спойлером обычный листинг (текстовый файл с названиями каталогов в заданной директории).
"В каком виде? Вы хотите вести список удаляемых папок в каком-то файле?" - я думал, что проще всего в *.bat (cmd), в любом, который доступен для редактирования...

Попалась на глаза тема:
"Создайте командный файл, который удаляет все файлы и каталоги, в заданных каталогах, указанные в виде списка, занесенного в текстовый файл."
*********************************************
@echo off
SetLocal EnableExtensions

set list=filefolderslist.txt

For /F "UsebackQ delims=" %%a in ("%list%") do (
cd /d "%%~a"
rmdir /S /Q "%%~a" 2>NUL
)
********************************************
Может таким путем пойти? Этот код можно как-то заточить под мои нужды, и какая структура у *.txt - список чем разделен -переводом строки, или символом [;] или пробелом...

Iska,
Не ругайтесь пож-ста, ищу оптимальный вариант... Умел бы SFX WinRAR удалять каталоги, а не только файлы, Желательно перед распаковкой

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


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


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



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

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


Ветеран


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

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


SergioBS, да я не ругаюсь.

Цитата SergioBS:
Умел бы WinRAR удалять каталоги, а не только файлы »
И самораспаковывающиеся модули WinRAR и 7-Zip, и инсталляторы различного толка рассчитаны именно на инсталляцию.

Цитата SergioBS:
я думал, что проще всего в *.bat (cmd), в любом, который доступен для редактирования... »
Не, тут надо так — мухи отдельно, котлеты отдельно отдельно — код, отдельно — конфигурация. А уж что там в последнем будет — plain text, ini, xml, json — не суть важно.

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


Аватара для SergioBS

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


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

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


Iska,
Уже голова раскалывается... Есть основная работа... Если накопительный UPD... вижу такое, повторюсь после редактирования:
прописывать в батнике (или *.txt) все каталоги. которые обновлялись - удалить каталог "Моя программа 1.0", "Моя программа 1.5" если появилась "Моя программа 2.0"
На сегодня достаточно... Иначе умом тронусь в 52 года... Рановато!

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


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


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


Ветеран


Contributor


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

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


Под спойлером обычный листинг (текстовый файл с названиями каталогов в заданной директории
Код: Выделить весь код
Каталоги разделов, которые затронуло обновление
<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
По этому листингу удаляются каталоги, указанные в нём для удаления.
Код: Выделить весь код
@Echo Off
Cls
>nul chcp 1251

	Set "Listing=Z:\Box_In\listing.txt"

	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"
	If %Errorlevel%==1 Exit /B 0

	Call Set "DBoxIn=%%@@D%ErrorLevel%%%"
	
	FOR /F "usebackq delims=" %%s IN (`2^>nul More "%Listing%" ^| FIND /I "Каталог"`) Do Call :MyFind "%DBoxIn%" "%%s"
Pause
Exit /B

:MyFind
	Set "SS=%~2"
	Set "SS=%SS:*\=%"
	If Not "%SS%"==%2 GoTo :Catal
	If "%ND%"=="" Exit /B 2
		FOR /F "delims=<> tokens=2" %%c IN (%2) Do 2>nul RD "%ND%\%%c" /S /Q 
	Exit /B
	:Catal
        	Set "ND=%~1:\%SS%"
		If Exist "%ND%" Exit /B 0
		Echo Folder "%ND%" not found
		Set "ND="
	Exit /B 2
Exit /B 1


Кстати
Цитата SergioBS:
Нет скрипт удаляет совсем не те каталоги, которые добавились с новыми версиями программ »
Так и должно быть. Должен остаться последний добавленный каталог. Или я неправильно понимаю?

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


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


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


Аватара для SergioBS

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


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

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


megaloman,
Не могу понять Ваш скрипт... Здесь нет привязки по времени (дата создания каталога, последний добавленный каталог), т.к есть программы, которые обновляются раз в год, а то и вообще прекращена их поддержка (но они достойны быть в сборке). Простое (примитивное) действие - удалить выбранные каталоги (которые будут прописаны ручками) - не нужно все усложнять...

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


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


Отправлено: 07:18, 15-01-2020 | #25


Ветеран


Contributor


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

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


SergioBS, Давайте разберёмся с постановкой.
Цитата SergioBS:
Простое (примитивное) действие - удалить выбранные каталоги (которые будут прописаны ручками) - не нужно все усложнять... »
Напишите и предоставьте пример, как Вы это хотите видеть, например, в обычном текстовом файле. Батник написать при такой постановке не проблема.

Цитата SergioBS:
Не могу понять Ваш скрипт... Здесь нет привязки по времени (дата создания каталога, последний добавленный каталог), »
В скрипте именно так и сделано.
Если есть ранее созданные каталоги
"Моя программа 1.0", "Моя программа 1.5"
и если после этого появилась "Моя программа 2.0",
то будут удалены "Моя программа 1.0", "Моя программа 1.5".
Если есть каталог "Чужая программа 000", созданный неважно когда, он не будет удаляться, пока не появится его новый вариант. То есть Ваше: "есть программы, которые обновляются раз в год, а то и вообще прекращена их поддержка (но они достойны быть в сборке)" - выполняется в полной мере.

Цитата SergioBS:
Умел бы SFX WinRAR удалять каталоги, а не только файлы, Желательно перед распаковкой »
Если бы не SFX, можно было бы придумать. После распаковки - пожалуйста. Вы дали листинг. В скрипте это реализовано. Если в листинге есть, например, строка
Удалить <Athentech Perfectly Clear workbench v3.9.0.1710> - SFX добавил каталог Perfectly Clear v3.9.0.1722
то скрипт удалит каталог Athentech Perfectly Clear workbench v3.9.0.1710 Тут, естественно, совершенно нет никакой привязки ко времени - что предписывается, то и делаем. И ничего не выдумываем, и ничего иного не трогаем.

Цитата SergioBS:
не нужно все усложнять... »
- надо стремиться убрать человеческий фактор -будут прописаны ручками, будут с большой вероятностью ошибки.

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


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

Это сообщение посчитали полезным следующие участники:

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


Аватара для SergioBS

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


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

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


megaloman,
Спасибо за активное участие в создании концепции пакетов обновлений для реанимации.
"Если бы не SFX, можно было бы придумать" - а что могло бы быть проще? На трекерах не приветствуются простые архивы, тем более папки с навалом файлов... Думаю, что состав обновления все же распаковывать пользователем в корень USB(HDD) своего раздела. Состав вижу такой:
1. rean.exe - файл запускает оболочку для использования в среде Windows
2. rean.apm - файл библиотека к файлу rean.exe
(Будут в любом случае обновляться...) посредством SFX
3. каталог winsoft - программы Windows в нем будут каталоги программ по разделам, в них новые версии программ
4. upd.bat - запуск скрипта автоматический после извлечения.
5. folderslist.txt - листинг каталогов для удаления из директории winsoft.
Скрипт умеет искать каталоги для удаления в папке winsoft (в той же директории со скриптом, если нет, то нужно будет прописывать полный путь, не зная какую букву выберет пользователь...)? То тогда вижу листинг для UPD01 в следующем виде:
del <StartIsBack AiO v1.0.17>
del <Windows Firewall Control v6.0.2.0>
del <Athentech Perfectly Clear workbench v3.9.0.1710>
del <WinSnap v5.1.6>
del <Viber v12.1.0.29>
del <EZ CD Audio Converter v9.0.5.1>
del <VidCoder v5.13>
del <VueScan v9.7.18>
del <PrivaZer v3.0.85>
del <Windows 10 Manager v3.1.9>
del <Z-Info v1.0.18>
В идеале после отработки скрипта п4. и п.5 самоудаляются, не загрязняют корень диска(раздела).

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


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


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


Старожил


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

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


SergioBS, Правильно ли я понимаю, что:
1. На компьютере А скачивается торрент (очередное обновление этого реаниматора).
2. Содержимое образа раскатывается на флешку (или извлекается другим способом)
3. Вручную подготавливается патч-обновление для неких других флешек на местах, где проблематично качать и записывать 32Гб данных.
??

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


Ветеран


Contributor


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

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


Цитата SergioBS:
Скрипт умеет искать каталоги для удаления в папке winsoft (в той же директории со скриптом »
upd.bat? В какой директории? Допустим, Z:\ или Z:\winsoft\ ?

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


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


Аватара для SergioBS

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


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

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



iglezz,
Основная раздача torrent файл с образом *.img (32Gb) - его трогать не буду, как раздается, так и раздается. Иногда планирую делать обновления программ для Windows 200-300Mb, скорее всего буду выкладывать на Яндекс.диск или Mail если кому интересно... Все верно.

megaloman,
Папка winsoft в той же директории где и upd.bat. Вот с буквой раздела (диска) тут сложнее, у каждого она своя... Путь должен быть относительный. Как это сделать не знаю...

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


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


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



Компьютерный форум 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




 
Переход