[Цитировать]

    puhpol
  • 2
  • Стаж: 10 лет
  • Сообщений: 891
  • Репутация:75

    [+] [-]
Продолжение темы >>
Динамическое создание ярлыков и регистрация програм, находящихся на внешних носителях (Usb,Cd,NetWork)
Программа сканирует подключенные устройства и создает \ удаляет ярлыки и регистрирует (дерегистрирует) программы, находящиеся в указанном каталоге на основе link файлов. Формат link файла приведен ниже.

Формат link файла

[CheckVer]
;Проверка на совместимость , если условия не выполнены, link файл будет проигнорирован.
;совместимые версии, если ключ пустой или отсутствует, проверка игнорируется.
OSArch=X86,IA64,X64
OSVersion=WIN_81,WIN_8, WIN_7,WIN_VISTA,WIN_XP,WIN_XPe,WIN_2012R2,WIN_2012,WIN_2008R2,WIN_2008,WIN_2003,WIN_10
;Наличие файла или каталога , если ключ пустой или отсутствует, проверка игнорируется.
TagFile=\demo.exe
;Отсутствие файла или каталога , если ключ пустой или отсутствует, проверка игнорируется.
NotTagFile=\demo.exe
;Выполнять только под WinPe
WinPeOnly=yes
[Shortcut]
;исполняемый файл
;если путь начинается с "\" он будет заменен на текущий, "." (или %WorkDrive%) создаст ярлык для носителя,
exe=\demo.exe
;ярлык на рабочем столе
Desktop=\
;ярлык быстрый запуск
QuickLaunch=\
;создание лаунчера, будет создан лаунчер с именем "Demo"
LaunchPath=%temp%\Launch
LaunchName=Demo\DemoPrograms
;меню пуск
StartMenu=UsbFlash\DemoPrograms
;меню программы
Programs=UsbFlash\DemoPrograms
;название ярлыка
lnk=Demo Programs
;рабочий каталог, по умолчанию workdir=\
workdir=\
;аргументы , здесь допустимы псевдопеременные %WorkDir% и %WorkDrive%
args=
;иконка и ее номер, по умолчанию будет взята из exe=\...
icon=shell32.dll,5
;горячие клавиши
hotkey=
;Ассоциации - расширения файлов через запятую
Assoc=xxx,zzz
;Иконка для ассоциированных файлов, по умолчанию - определенная в Icon
AssocIcon=\MeIcon.dll,3
;Иконка каталога
foldericon=
;Окно - min,max,(normal - по умолчанию)
State=max
;Описание программы, видно при наведении курсора.
Desc=Test File
[AutoRun]
;в этой секции прописаны программы,
;запускаемые при вставке устройства (.bat,.exe,.reg)
hide=yes
;hide=no - default
bat=\start.bat
exe=
reg=\start.reg
[autoexit]
;аналогично при удалении устройств
hide=
bat=
exe=
reg=

Пути поиска носителей указаны в файле Sh.ini

[Config]
;Расширение для link файлов
ext=.shl
;Время обновления (только для RamDisk)
time=1000
;Tray
traytime=10000
;Уровень сканирования, Hight - рекомендуется только для отладки
ScanLelel=Normal
;Для WinPe сборок не нужен, сохраняет файл отката, например, если программа запущена с флэшки, флэшка удалена, на компе нажали reset или вообще отключили питание, работа утилиты будет восстановлена при его перезагрузке. Это позволяет использовать ее на полноценных системах как менеджер портативных программ.
BackPath=%temp%\_$Sh$_\Sh.bck
;Cache файл, создается с помощью ShCache.exe (необязателен, но увеличивает скорость создания ярлыков)
Idx=ShCache.idx
;Принудительное отслеживание смены носителей (для сборок win7/win8 , если не отслеживаются, для сборок XP не требуется)
DriveControl=yes
[RamDisk]
;* - для всех
Drives=b
;Путь поиска
Path=PePrograms;Programs
[REMOVABLE]
Drives=
Path=PePrograms
[CDROM]
Drives=*
Path=PePrograms
[Network]
Drives=h
Path=PePrograms;Programs
[Fixed]
Drives=
Path=
;Маркерный файл
Marker=
Вложение


Последний раз редактировалось: puhpol (2020-02-11 11:08), всего редактировалось 2 раз(а)

[Цитировать]

    puhpol
  • 2
  • Стаж: 10 лет
  • Сообщений: 891
  • Репутация:75

    [+] [-]
gera_serg, Приветствую!
[CheckVer]
;Проверка на совместимость , если условия не выполнены, link файл будет проигнорирован.
;совместимые версии, если ключ пустой или отсутствует, проверка игнорируется.
OSArch=X86,IA64,X64
OSVersion=WIN_81,WIN_8, WIN_7,WIN_VISTA,WIN_XP,WIN_XPe,WIN_2012R2,WIN_2012,WIN_2008R2,WIN_2008,WIN_2003,WIN_10
Работает как надо, проверено не раз...
Ну и это:
[AutoRun]
;в этой секции прописаны программы,
;запускаемые при вставке устройства (.bat,.exe,.reg)
hide=yes
;hide=no - default
bat=\start.bat
exe=
reg=\start.reg

[Цитировать]

    gera_serg
  • 1171
  • Стаж: 9 лет 4 месяца
  • Сообщений: 1421
  • Репутация:9

    [+] [-]
18211 при вставке устройства
Так это только для "переткнутой" флешки или и для флешки "загрузочной" (где системное событие "вставка" произошло еще до запуска самой SH и она на это не может отреагировать)?

[Цитировать]

    puhpol
  • 2
  • Стаж: 10 лет
  • Сообщений: 891
  • Репутация:75

    [+] [-]
gera_serg, Оно отрабатывает при запуске SH.exe. То есть, если в вин PE прописан запуск SH.exe :
Запускается программа ,
Находит носитель,(может быть любой, путь поиска прописан в Sh.ini)
Считывает конфиг.....
То есть , программа ищет папку с прогами на всех доступных носителях.
Может я не понял что вы хотите сделать...

[Цитировать]

    gera_serg
  • 1171
  • Стаж: 9 лет 4 месяца
  • Сообщений: 1421
  • Репутация:9

    [+] [-]
nikzzzz,
Хотелось бы управлять пунктами / ярлыками вставленной второй флешки.
Если названия точно совпадают с уже вставленной - их не дублировать.

[Цитировать]

    gera_serg
  • 1171
  • Стаж: 9 лет 4 месяца
  • Сообщений: 1421
  • Репутация:9

    [+] [-]
18214Может я не понял что вы хотите сделать...
Ну, например, тихо забрасывать на X: в системную самую последнию версию 7z, забивая ей ту, что в оригинальном ядре сборки (возможно устаревшую). Новый пункт меню (и типы файлов) не нужны, нужен самый свежий инструмент (вместо старого).

[Цитировать]

    gera_serg
  • 1171
  • Стаж: 9 лет 4 месяца
  • Сообщений: 1421
  • Репутация:9

    [+] [-]

Вроде явно прописано, что TV11 добавлять в меню только в случае ядра Win 8.1
Что 10, что 8,0 - пункт меню все равно присутствует.
Что я делаю не так?

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет 10 месяцев
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
18229Что я делаю не так?
Выполни
"c:\Program Files\AutoIt3\AutoIt3.exe" /AutoIt3ExecuteLine "msgbox(0,'',@OSVersion)"
И посмотри результат, у меня нет десятки.
18216Ну, например, тихо забрасывать на X: в системную самую последнию версию 7z, забивая ей ту, что в оригинальном ядре сборки (возможно устаревшую). Новый пункт меню (и типы файлов) не нужны, нужен самый свежий инструмент (вместо старого).
Не реально, как определить "самый свежий инструмент" ? Последняя вставленная флэшка?
В принципе, можно добавить батник в autorun, который удалит прежние ярлыки, но это уже будет лежать на совести автора батника.

[Цитировать]

    gera_serg
  • 1171
  • Стаж: 9 лет 4 месяца
  • Сообщений: 1421
  • Репутация:9

    [+] [-]
18245И посмотри результат, у меня нет десятки.
На последней восьмерке (из 2k10) от Конти результат

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет 10 месяцев
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
gera_serg,
Убери кавычки после AutoIt3.exe.

[Цитировать]

    gera_serg
  • 1171
  • Стаж: 9 лет 4 месяца
  • Сообщений: 1421
  • Репутация:9

    [+] [-]
18245Не реально, как определить "самый свежий инструмент" ? Последняя вставленная флэшка?
Речь про 7z или ярлыки?
Если про 7z, он старый в ядре например SonyаPe 2005 года создания. Перепаковывать его лень.
Но можно положить последний набор 7z в Programs на флешке и по ЧекВерсион догружать автоматом эти новые файлы в Системную на X: для ядра SonyаPe ("WIN_XP") и не догружать для Хемом1 ("WIN_81")
Если про ярлыки.
Набор заброшенных на Рабочий стол ярлыков известен, он в индексном файле первой флешки.
Вставляем вторую флешку, SH обнаруживает это и видит второй индексный файл. Сверяет по элементу с уже загруженным. Если там и там название "Акронис TI 2015" пропускает добавление дубля, если не дубль - добавляет его на Рабочий стол (ну и в меню)

[Цитировать]

    Гость
  • Репутация:0

    [+] [-]
18245посмотри результат, у меня нет десятки

10х64 AutoIt (v 3.3.10.2) распознает как 8.1

[Цитировать]

    gera_serg
  • 1171
  • Стаж: 9 лет 4 месяца
  • Сообщений: 1421
  • Репутация:9

    [+] [-]
UNKNOWN
Т.е. об этой переменной должен был озаботиться Автор сборки?

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет 10 месяцев
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
18254Вставляем вторую флешку, SH обнаруживает это и видит второй индексный файл. Сверяет по элементу с уже загруженным. Если там и там название "Акронис TI 2015" пропускает добавление дубля, если не дубль - добавляет его на Рабочий стол (ну и в меню)
А если название просто "Акронис TI", чего делать то? Сносить последнюю версию и заменять старой?
18255посмотри результат, у меня нет десятки
Десятка должна распознаваться в версии Autoit 3.3.14.2 , скомпилированный скрипт в шапке темы.
Версия Autoit 3.3.10 просто не знает десятку.

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет 10 месяцев
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
18213где системное событие "вставка" произошло еще до запуска самой SH и она на это не может отреагировать
Это событие отрабатывается при любой смене устройств при запущенной Sh, вытащив "старую" и вставив ее вновь, она будет "новой".

[Цитировать]

    gera_serg
  • 1171
  • Стаж: 9 лет 4 месяца
  • Сообщений: 1421
  • Репутация:9

    [+] [-]
18259А если название просто "Акронис TI", чего делать то?
Добавлять. Это не совпало по lnk="Акронис TI" и "Акронис TI 2015"
У меня несколько флешек с почти одинаковыми наборами ядер/программ. 90% совпадает. Необходимость вставлять другую флешку из-за чего-то, чего нет на первой. Например, другой набор wim/esd на оставшемся месте от ядра и программного пакета.
Например две 8 гбфлешки, 1 гиг одинаков, 7 гиг содержимого разные. У одной загрузчик - груб, у второй бутманагер. На одной инсталлы w7, на второй w8-10... На третьей iso дравер-паков и т.д.
И не надо менять-подстраиватья, если на старом компе возникнут какието трудности с загрузкой.
И подстраховка, не все яйца в одной корзине.

Страница 4 из 15


Показать сообщения:    

Текущее время: 24-Ноя 13:00

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы