![]() |
Создание ярлыков с ссылкой на привод когда имя диска не определено
Имеется Windows PE который запускается с диска на нем есть файл имя_диска:\PePrograms\WMount.cmd содержащий строки
Код:
cls имя_диска:\PePrograms\Everest\everest.exe имя_диска:\PePrograms\Totalcmd\TOTALCMD.EXE имя_диска:\PePrograms\WinRAR\WinRAR.exe имя_диска:\PePrograms\firefox3.exe какие строки нужно написать в WMount.cmd чтобы создать ярлыки для этих программ на рабочем столе? Принимая во внимание то что имя диска (привода) может меняться (нужна как то задействовать переменную %CDROM% что ли?) а WindowsPE создается всегда на диске "B:\" |
timon45,
Стандартными средствами CMD создать ярлыки невозможно, Вам нужно либо обратиться к WSH, либо поискать утилиту с поддержкой командной строки (как-то натыкался...) и разместить её на Вашем диске... Хотя Вы можете попробовать разместить ярлыки прямо на Вашем диске и просто скопировать их на рабочей стол при запуске диска, используя, например, команду "copy" (сам так делал...) |
Тогда другой вопрос, какую ссылку нужно создать для ярлыка чтобы он обращался к приводу. Я Пытался прописать в строке
Объект: "%cdrom%\PePrograms\WinRAR\WinRAR.exe" Рабочая папка: "%cdrom%\PePrograms\WinRAR\" но он не соглашался на сохранение. Или ещё вариант: прописать команду открыть папку имя_диска:\PePrograms\ в файле WMount.cmd? |
timon45,
честно говоря я уже не помню, что прописывал... попробуйте прописать %CD%, а для того, чтобы переменная %CDROM% отрабатывалась, Вам нужно зарегистрировать её в системе, т.е. внести в реестр в раздел Enveroment. Да, Вы обрабатываете свой "диск" каким-образом? Надеюсь не простым распаковыванием? Иначе ничего не получится.... Код:
for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i:\WIN51 set CDROM=%%i: |
Всё!!! Ура наконец то получилось пошел со всем по другому пути а именно:
Создал вместо ярлыков на рабочем столе *cmd который содержит строки: Код:
@echo off |
timon45,
предлагаю Вам другое решение, т.к. утилиту для создания ярлыков я не нашел (пока...), то не побрезгуйте воспользоваться моей придумкой, которую при желании можно компилировать в *.exe: Код:
Option Explicit Код:
wscript.exe "MKLink.vbs" "файл_с_полным_путем" "имя_ярлыка" |
Все это конечно занятно и сложно для моего понимания, но я уже получил то что хотел и мой способ меня вполне удовлетворяет. Спасибо всем за внимание.
|
|
Есть еще один вариант... Качаете утилитку Shortcut.exe. Создаете пакетный файл там же, где и утилита, и вставляете туда примерно такой код:
Код:
Shortcut.exe /f:"%USERPROFILE%\Рабочий стол\my app.lnk" /a:c /t:"D:\directory\my app.exe" |
Цитата:
NirCmd by NirSoft Код:
shortcut "~folder.nircmd\TotalCMD\TOTALCMD.EXE" "~$folder.desktop$" "Total Commander" Код:
xln -w "%~dp0TotalCMD\ToralCMD.exe" "%UserProfile%\Рабочий стол\Total Commander.lnk" Код:
xxmklink "%UserProfile%\Рабочий стол\Total Commander.lnk" "%~dp0TotalCMD\TotalCMD.exe" |
amel27,
Вы знаете, я как-то особо и не старался найти подобную утилиту, просто в силу того, что такие задачи можно элементарно решать средствами Windows. Если уж на то пошло, можно обратиться к AutoIT или AHK и опять сделать всё своми руками, при этом добавив какой-нибудь функционал для собственных нужд... |
deepred, о вкусах не спорят ))
встречал PE-окружения, где не работал ни WSH, ни AutoIT т.к. COM еще не был инициализирован |
Время: 17:00. |
Время: 17:00.
© OSzone.net 2001-