Продолжение темы >> Динамическое создание ярлыков и регистрация програм, находящихся на внешних носителях (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 раз(а)
18263Добавлять. Это не совпало по lnk="Акронис TI" и "Акронис TI 2015"
Пример - есть последняя версию , с которой и загрузилась система. На старенькой флэшке есть , например пакет от Terabyte, название которого не меняется. Я вставляю эту старую флэшку, на которой лежит нужная мне инфа, и что должен получить? DownGrade ? Я вставляю другую флэшку, на ней есть совпадающие имена, и что получаю? Я вообще не знаю, чем пользуюсь?
nikzzzz, Ты недопонял. Задача 2 - управлять пунктами / ярлыками вставленной дополнительной флешки исходя что уже есть на РС.. Если названия (по lnk=) точно совпадают с уже вставленной - их не дублировать на рабочий стол. А сейчас по необходимости 3 сразу вставленные флешки - 3 ярлыка на Terabyte (хотя на всех трех он один и тот же) . Если десяток ярлыков от одной, на экране рябит от 30 (при вставленных трех)
очень просто, я же сам в этом заинтересован если на одной lnk="Акронис TI" и на другой lnk="Акронис TI" одинаковые, дубликат ярлыка не нужен если на одной lnk="Акронис TI" и на другой lnk="Акронис TI(рус)" - разные, два ярлыка
18291обновить SH.exe желательно
у меня SH.exe (2015.11.8.1), как будет новее - обновлю...
nikzzzz, Подтверждаю. Эта строка не срабатывает? [Shortcut] OSVersion=WIN_81,WIN_8,WIN_7,WIN_10 exe=\78Setup.exe desktop=yes quicklaunch= Desc=Install new Windows startmenu=\Tools programs= lnk=78Setup workdir= args= icon=\78Setup.exe [AutoRun] hide=yes Я так понимаю, в Win_XP - ярлык 78Setup, не должен появляться?
18439Я так понимаю, в Win_XP - ярлык 78Setup, не должен появляться?
Если на PE случайно запущена Sh.exe - старенькая (не знающая секции [CheckVer]) то ярлык появится. Я не могу добиться "не появления" ярлыка/пункта TeamViewer11 (в его секции прописано только OSVersion=WIN_81). Ярлык лезет и в PE8, и в PE81, и в PE10 Тем не менее, если ему поставить только OSVersion=WIN_XP, то он появляется в XP и не появляется в старших скорее всего у NIKZZZ WIN_81 == WIN_8 (что бывает, если проверять по 5 знакам, а не по 6)
Возможно , была путаница версий, я мог забыть исправить сами номера версий, проверил - все отрабатывается правильно, заодно исправил баг WIN_81 == WIN_8. Версия в шапке обновлена.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы к сообщениям Вы можете скачивать файлы