Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Кнопка для запуска приложения с флешки
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
laburj



Joined: 07 Mar 2005
Posts: 186

Post (Separately) Posted: Sun Oct 27, 2013 18:21    Post subject: Кнопка для запуска приложения с флешки Reply with quote

Подскажите пожалуйста с кнопкой
Ситуация:
часто подключаю разные флешки, буква диска которым присваивается произвольно. Необходимо запускать программы по одному и тому же адресу, например ?:\aaa\bbb\ccc\ddd.exe, где "?" - буква диска, которая только и меняется.
Хотелось бы кнопку на панели инструментов, которая позволяла бы открывать программу по заданному пути, где буква диска бралась из открытой левой вкладки.
Спасибо
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sun Oct 27, 2013 18:48    Post subject: Reply with quote

laburj wrote:
где буква диска бралась из открытой левой вкладки
Какое-то извращение. Это так принципиально?
Можно перебрать все внешне подключённые диски и в них искать нужное. Либо брать последнюю букву.
И это, конечно, не из области общих вопросов..
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
laburj



Joined: 07 Mar 2005
Posts: 186

Post (Separately) Posted: Sun Oct 27, 2013 18:54    Post subject: Reply with quote

Flasher wrote:
Какое-то извращение. Это так принципиально?
Можно перебрать все внешне подключённые диски и в них искать нужное. Либо брать последнюю букву.
И это, конечно, не из области общих вопросов..
Если можно так, то было бы гораздо удобнее, я просто предположил, что взять букву диска из пути текущей вкладки будет проще
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sun Oct 27, 2013 19:00    Post subject: Reply with quote

laburj wrote:
Если можно так
Так - это как?
laburj wrote:
из пути текущей вкладки
Написано было:
laburj wrote:
из открытой левой вкладки
Левая ещё не значит текущая или активная.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
laburj



Joined: 07 Mar 2005
Posts: 186

Post (Separately) Posted: Sun Oct 27, 2013 19:07    Post subject: Reply with quote

Flasher wrote:
Так - это как?

В идеале так:
Flasher wrote:
Можно перебрать все внешне подключённые диски и в них искать нужное.


Flasher wrote:
Левая ещё не значит текущая или активная.

Согласен, признаю свою неточность
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sun Oct 27, 2013 19:18    Post subject: Reply with quote

laburj wrote:
В идеале так:
Т.е. брать первый попавшийся внешний диск, а не последний?
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
laburj



Joined: 07 Mar 2005
Posts: 186

Post (Separately) Posted: Sun Oct 27, 2013 19:23    Post subject: Reply with quote

Да, первый попавшийся, у меня их обычно не больше 3х и одновременно не бывает подключенных флешек, где есть программы, которые таким способом я хочу запустить.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sun Oct 27, 2013 19:49    Post subject: Reply with quote

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
View user's profile Send private message
Serge Yolkin



Joined: 25 Jul 2009
Posts: 664

Post (Separately) Posted: Sun Oct 27, 2013 20:03    Post subject: Reply with quote

laburj
Если и Тотал запускать с той же флэшки, то диск будет называться %COMMANDER_DRIVE%
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sun Oct 27, 2013 20:06    Post subject: Reply with quote

Serge Yolkin
TYVM, КЭП.
Ясно же, что флешек много, а Тотал уже запущен..
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6192
Location: Москва

Post (Separately) Posted: Sun Oct 27, 2013 21:43    Post subject: Reply with quote

 !  CaptainFlint:
Перенесено в Автоматизацию.

_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
laburj



Joined: 07 Mar 2005
Posts: 186

Post (Separately) Posted: Sun Oct 27, 2013 22:07    Post subject: Reply with quote

Flasher, большое спасибо! Всё работает!
Back to top
View user's profile Send private message
Моторокер



Joined: 06 May 2005
Posts: 1517
Location: г. Пермь (читается Перьмь)

Post (Separately) Posted: Sun Nov 24, 2013 11:23    Post subject: Re: Кнопка для запуска приложения с флешки Reply with quote

laburj wrote:
Необходимо запускать программы по одному и тому же адресу, например ?:\aaa\bbb\ccc\ddd.exe, где "?" - буква диска, которая только и меняется.

Если вкладка эта активная, почему сразу так не запускать?
\aaa\bbb\ccc\ddd.exe
_________________
плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4815
Location: Ростов-Дон

Post (Separately) Posted: Sun Nov 24, 2013 12:46    Post subject: Reply with quote

Можно запускать батником 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
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sun Nov 24, 2013 18:53    Post subject: Reply with quote

MVV
Думаешь, твой батник окажется быстрее моего скрипта?
Сократи хотя бы список через fsutil fsinfo drives.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group