View previous topic :: View next topic |
Author |
Message |
laburj
Joined: 07 Mar 2005 Posts: 186
|
(Separately) Posted: Sun Oct 27, 2013 18:21 Post subject: Кнопка для запуска приложения с флешки |
|
|
Подскажите пожалуйста с кнопкой
Ситуация:
часто подключаю разные флешки, буква диска которым присваивается произвольно. Необходимо запускать программы по одному и тому же адресу, например ?:\aaa\bbb\ccc\ddd.exe, где "?" - буква диска, которая только и меняется.
Хотелось бы кнопку на панели инструментов, которая позволяла бы открывать программу по заданному пути, где буква диска бралась из открытой левой вкладки.
Спасибо |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Oct 27, 2013 18:48 Post subject: |
|
|
laburj wrote: | где буква диска бралась из открытой левой вкладки | Какое-то извращение. Это так принципиально?
Можно перебрать все внешне подключённые диски и в них искать нужное. Либо брать последнюю букву.
И это, конечно, не из области общих вопросов.. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
laburj
Joined: 07 Mar 2005 Posts: 186
|
(Separately) Posted: Sun Oct 27, 2013 18:54 Post subject: |
|
|
Flasher wrote: | Какое-то извращение. Это так принципиально?
Можно перебрать все внешне подключённые диски и в них искать нужное. Либо брать последнюю букву.
И это, конечно, не из области общих вопросов.. | Если можно так, то было бы гораздо удобнее, я просто предположил, что взять букву диска из пути текущей вкладки будет проще |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Oct 27, 2013 19:00 Post subject: |
|
|
laburj wrote: | Если можно так | Так - это как?
laburj wrote: | из пути текущей вкладки | Написано было:
laburj wrote: | из открытой левой вкладки | Левая ещё не значит текущая или активная. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
laburj
Joined: 07 Mar 2005 Posts: 186
|
(Separately) Posted: Sun Oct 27, 2013 19:07 Post subject: |
|
|
Flasher wrote: | Так - это как? |
В идеале так:
Flasher wrote: | Можно перебрать все внешне подключённые диски и в них искать нужное. |
Flasher wrote: | Левая ещё не значит текущая или активная. |
Согласен, признаю свою неточность |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Oct 27, 2013 19:18 Post subject: |
|
|
laburj wrote: | В идеале так: | Т.е. брать первый попавшийся внешний диск, а не последний? _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
laburj
Joined: 07 Mar 2005 Posts: 186
|
(Separately) Posted: Sun Oct 27, 2013 19:23 Post subject: |
|
|
Да, первый попавшийся, у меня их обычно не больше 3х и одновременно не бывает подключенных флешек, где есть программы, которые таким способом я хочу запустить. |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Oct 27, 2013 19:49 Post subject: |
|
|
Code: | '============================================================
' Запуск первой существующей программы из внешнего накопителя
' Параметр: <Путь без имени диска>
' Пример: "\ProgramFolder\Program.exe"
'============================================================
If WScript.Arguments.Count > 0 Then
Path = WScript.Arguments(0)
With CreateObject("Scripting.FileSystemObject")
For Each D In .Drives
If D.DriveType = 1 Then
If .FileExists(D & Path) Then
CreateObject("WScript.Shell").Run """" & D & Path & """"
Exit For
End If
End If
Next
End With
End If |
_________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
Serge Yolkin
Joined: 25 Jul 2009 Posts: 664
|
(Separately) Posted: Sun Oct 27, 2013 20:03 Post subject: |
|
|
laburj
Если и Тотал запускать с той же флэшки, то диск будет называться %COMMANDER_DRIVE% |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Oct 27, 2013 20:06 Post subject: |
|
|
Serge Yolkin
TYVM, КЭП.
Ясно же, что флешек много, а Тотал уже запущен.. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
CaptainFlint

Joined: 14 Dec 2004 Posts: 6192 Location: Москва
|
(Separately) Posted: Sun Oct 27, 2013 21:43 Post subject: |
|
|
! | CaptainFlint: | Перенесено в Автоматизацию. | _________________ Почему же, ё-моё, ты нигде не пишешь "ё"? |
|
Back to top |
|
 |
laburj
Joined: 07 Mar 2005 Posts: 186
|
(Separately) Posted: Sun Oct 27, 2013 22:07 Post subject: |
|
|
Flasher, большое спасибо! Всё работает! |
|
Back to top |
|
 |
Моторокер

Joined: 06 May 2005 Posts: 1517 Location: г. Пермь (читается Перьмь)
|
(Separately) Posted: Sun Nov 24, 2013 11:23 Post subject: Re: Кнопка для запуска приложения с флешки |
|
|
laburj wrote: | Необходимо запускать программы по одному и тому же адресу, например ?:\aaa\bbb\ccc\ddd.exe, где "?" - буква диска, которая только и меняется. |
Если вкладка эта активная, почему сразу так не запускать?
\aaa\bbb\ccc\ddd.exe _________________ плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми |
|
Back to top |
|
 |
MVV

Joined: 15 Oct 2009 Posts: 4815 Location: Ростов-Дон
|
(Separately) Posted: Sun Nov 24, 2013 12:46 Post subject: |
|
|
Можно запускать батником run_from_label.bat:
Code: | @echo off
if -%1==- echo Parameters: ^<drive_label^> <^path_to_run^> [^<parameters^>]
set drive_letter=
for %%d in (D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
echo "*" | label %%d: 2>nul | find /I "%~1" >nul
if not errorlevel 1 (
start "" "%%d:\%~2" %3 %4 %5 %6 %7 %8 %9
goto :EOF
)
)
|
В кнопке тулбара прописать (на примере флешки с меткой MY_FLASH для запуска программы \Program\Program.exe при условии, что батник лежит в папке тотала):
Code: | Команда: "%COMMANDER_PATH%\run_from_label.bat"
Параметры: MY_FLASH Program\Program.exe |
В батнике в скобках команды for задаются буквы дисков, для которых метка сравнивается с заданной. Можно убрать ненужные буквы и изменить порядок букв, поставив наиболее вероятные буквы раньше. Сравнение производится нестрогое, т.е. ищется первая буква диска, метка которой содержит указанный текст. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Nov 24, 2013 18:53 Post subject: |
|
|
MVV
Думаешь, твой батник окажется быстрее моего скрипта?
Сократи хотя бы список через fsutil fsinfo drives. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
 |
|