|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Создать ярлык(s) к файлам @ScriptDir & "\Folder\* \*.exe" |
|
|
[решено] Создать ярлык(s) к файлам @ScriptDir & "\Folder\* \*.exe"
|
Ветеран Сообщения: 842 |
Профиль | Отправить PM | Цитировать Собсно вопрос.
Создать (где нибудь) ярлык(и) к файлам @ScriptDir & "\Folder \ подфолдерс \ все файлы *.exe" Уровень вложенности директорий можно сказать что определён, но количество файлов и имён надо определить авто. |
|
------- Отправлено: 16:09, 03-02-2010 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать #include <File.au3> _FileCreateShortcut(@ScriptDir & "\Folder\подфолдерс", "*.exe") Func _FileCreateShortcut($sPath, $sFilter, $sWorkDir="", $sArgs="", $sDesc="", $sIcon="", $sHotKey="", $iIconID=0, $iState=0) $aFiles = _FileListToArray($sPath, $sFilter, 1) If @error Then Return SetError(1, 0, 0) For $i = 1 To $aFiles[0] FileCreateShortcut( _ $sPath & "\" & $aFiles[$i], _ $sPath & "\" & StringRegExpReplace($aFiles[$i], "\.[^\.]*$", "") & ".lnk", _ $sWorkDir, $sArgs, $sDesc, $sIcon, $sHotKey, $iIconID, $iState) Next EndFunc |
------- Последний раз редактировалось Creat0R, 03-02-2010 в 21:37. Отправлено: 16:41, 03-02-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать А у меня таким образом создается ярлык на папку, а через него получаю доступ ко всем подпапкам и файлам внутри.
Creat0R, У меня, почему-то, при использовании Вашей функции создаются ярлыки с именем filelnk. Поставил точку перед "lnk" и стало все в порядке. Почему? Точка ведь в исключениях или нет? |
Последний раз редактировалось madmasles, 03-02-2010 в 17:29. Отправлено: 16:52, 03-02-2010 | #3 |
Ветеран Сообщения: 842
|
Профиль | Отправить PM | Цитировать Есть проблема! Я думал сразу понятно будет....
Программы в папках лежат Ну да я тут сам сморозил Цитата:
Но надо так: Общий_рут\Папка_проги1\???.EXE Общий_рут\Папка_проги2\???.EXE Общий_рут\Папка_проги3\???.EXE Так обычно и встречается часто. И понятно что поиск тут сложней, поэтому я и не берусь "думать" Ярлыки лучше в общую папку слить, например на рабочий стол - %UserProfile%\Desktop хотя это не принципиально, лишь бы они в одной паки были. Заранее благодарю!!! Цитата madmasles:
|
||
------- Отправлено: 18:18, 03-02-2010 | #4 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать У меня так получилось:
$avArray = _FileSearch(@ScriptDir & "\Folder", "*.exe") DirCreate(@DesktopDir & "\MyShortcut") For $i = 1 To $avArray[0] $name = StringTrimRight(StringTrimLeft($avArray[$i], StringInStr($avArray[$i], "\", "", -1)), 4) FileCreateShortcut($avArray[$i], @DesktopDir & "\MyShortcut\" & $name & ".lnk") Next Func _FileSearch($sPath, $sFileMask) Local $iPID, $sStdOutRead, $aRet $iPID = Run(@ComSpec & ' /C Dir "' & $sPath & '\' & $sFileMask & '" /S /B /A RASH', @SystemDir, @SW_HIDE, 6) While 1 $sStdOutRead &= StdoutRead($iPID) If @error <> 0 Then ExitLoop WEnd $aRet = StringSplit(StringStripCR(StringStripWS($sStdOutRead, 3)), @LF) Return SetError(@error, 0, $aRet) EndFunc ;==>_FileSearch Функция Creat0R _FileSearch($sPath, $sFileMask) PPS Если в пути встречаются русские буквы, то не работает. |
|
Последний раз редактировалось madmasles, 03-02-2010 в 19:32. Отправлено: 18:58, 03-02-2010 | #5 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать Вот так нормально отрабатывает с русскими буквами в путях:
#include <Encoding.au3> $avArray = _FileSearch(@ScriptDir & "\Folder", "*.exe") DirCreate(@DesktopDir & "\MyShortcut") For $i = 1 To $avArray[0] $name = StringTrimRight(StringTrimLeft($avArray[$i], StringInStr($avArray[$i], "\", "", -1)), 4) FileCreateShortcut(_Encoding_CyrillicTo1251($avArray[$i]), @DesktopDir & "\MyShortcut\" & $name & ".lnk") Next Func _FileSearch($sPath, $sFileMask) Local $iPID, $sStdOutRead, $aRet $iPID = Run(@ComSpec & ' /C Dir "' & $sPath & '\' & $sFileMask & '" /S /B /A RASH', @SystemDir, @SW_HIDE, 6) While 1 $sStdOutRead &= StdoutRead($iPID) If @error <> 0 Then ExitLoop WEnd $aRet = StringSplit(StringStripCR(StringStripWS($sStdOutRead, 3)), @LF) Return SetError(@error, 0, $aRet) EndFunc ;==>_FileSearch |
Отправлено: 19:45, 03-02-2010 | #6 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать |
------- Отправлено: 21:40, 03-02-2010 | #7 |
Ветеран Сообщения: 842
|
Профиль | Отправить PM | Цитировать Цитата madmasles:
Надеюсь уже не глючит, тему закрываю. Спасибо_! |
|
------- Отправлено: 15:49, 04-02-2010 | #8 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать semiono,
Вы лучше проверьте, а то у меня работает, а у Вас не будет. Во втором варианте ( с #include <Encoding.au3>) у меня нет проблем ни с русскими буквами, ни с пробелами в путях. |
Отправлено: 16:09, 04-02-2010 | #9 |
Ветеран Сообщения: 842
|
Профиль | Отправить PM | Цитировать madmasles, я запустил скрипт (забыл путь указать реальный) и у меня один shortcut на столе создался с именем .lnk усказывает на MyComputer Но потом всё наладил! Это просто инфа к дебуг информации )
Второй скрипт я не проверял, у меня <Encoding.au3> нету, а на форум я что-то не зарегистрировался, неужели semiono кто-то там юзает или это я был не помню Потом проверю, а инклюд лучше бы в личку сюда было. Но спасибо полюбому! П.С. Не знаю толку от меня на автоит.ру никакого, даже стыдно региться... Лишь для своей пользы чтоль |
------- Отправлено: 16:16, 04-02-2010 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - "Отправить на Рабочий стол (Создать ярлык)" - Пропала строка | Utuwa | Microsoft Windows 2000/XP | 2 | 12-10-2014 16:19 | |
"2 Reboot (explorer.exe)" самодельная "прога" перезагружающая оболочку "explorer.exe" | rizz | Автоматическая установка приложений | 14 | 30-11-2009 14:32 | |
Очистка "Program Files" & "Documents & Settings" перед установкой. | sergvg | Автоматическая установка Windows 2000/XP/2003 | 27 | 26-07-2009 10:13 | |
[решено] "File Folder"s открываются в окне "Search" ??? | Dredd | Microsoft Windows 2000/XP | 8 | 15-04-2005 18:38 | |
"Ссылка" и "Ярлык" - в чём различие? :) | german r | Хочу все знать | 6 | 24-04-2003 21:19 |
|