|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Обновления информации на USB (разделе HDD) |
|
|
CMD/BAT - Обновления информации на USB (разделе HDD)
|
Новый участник Сообщения: 45 |
Встал вопрос, как организовать обновления для 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 |
Новый участник Сообщения: 45
|
Профиль | Отправить 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
|
Профиль | Отправить PM | Цитировать SergioBS, да я не ругаюсь.
Цитата SergioBS:
Цитата SergioBS:
|
||
Отправлено: 22:38, 14-01-2020 | #22 |
Новый участник Сообщения: 45
|
Профиль | Отправить PM | Цитировать Iska,
Уже голова раскалывается... Есть основная работа... Если накопительный UPD... вижу такое, повторюсь после редактирования: прописывать в батнике (или *.txt) все каталоги. которые обновлялись - удалить каталог "Моя программа 1.0", "Моя программа 1.5" если появилась "Моя программа 2.0" На сегодня достаточно... Иначе умом тронусь в 52 года... Рановато! |
------- Последний раз редактировалось SergioBS, 14-01-2020 в 23:43. Отправлено: 23:37, 14-01-2020 | #23 |
Ветеран Сообщения: 2728
|
Профиль | Отправить 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 |
Новый участник Сообщения: 45
|
Профиль | Отправить PM | Цитировать megaloman,
Не могу понять Ваш скрипт... Здесь нет привязки по времени (дата создания каталога, последний добавленный каталог), т.к есть программы, которые обновляются раз в год, а то и вообще прекращена их поддержка (но они достойны быть в сборке). Простое (примитивное) действие - удалить выбранные каталоги (которые будут прописаны ручками) - не нужно все усложнять... |
------- Последний раз редактировалось SergioBS, 15-01-2020 в 07:35. Отправлено: 07:18, 15-01-2020 | #25 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать SergioBS, Давайте разберёмся с постановкой.
Цитата SergioBS:
Цитата SergioBS:
Если есть ранее созданные каталоги "Моя программа 1.0", "Моя программа 1.5" и если после этого появилась "Моя программа 2.0", то будут удалены "Моя программа 1.0", "Моя программа 1.5". Если есть каталог "Чужая программа 000", созданный неважно когда, он не будет удаляться, пока не появится его новый вариант. То есть Ваше: "есть программы, которые обновляются раз в год, а то и вообще прекращена их поддержка (но они достойны быть в сборке)" - выполняется в полной мере. Цитата SergioBS:
Удалить <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 |
Новый участник Сообщения: 45
|
Профиль | Отправить 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
|
Профиль | Отправить PM | Цитировать SergioBS, Правильно ли я понимаю, что:
1. На компьютере А скачивается торрент (очередное обновление этого реаниматора). 2. Содержимое образа раскатывается на флешку (или извлекается другим способом) 3. Вручную подготавливается патч-обновление для неких других флешек на местах, где проблематично качать и записывать 32Гб данных. ?? |
Отправлено: 14:34, 15-01-2020 | #28 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Цитата SergioBS:
|
|
------- Отправлено: 15:02, 15-01-2020 | #29 |
Новый участник Сообщения: 45
|
Профиль | Отправить 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 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - [решено] После обновления драйвера 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 |
|