Страница 1 из 2
Кнопка для запуска приложения с флешки
Добавлено: Вс окт 27, 2013 18:21
laburj
Подскажите пожалуйста с кнопкой
Ситуация:
часто подключаю разные флешки, буква диска которым присваивается произвольно. Необходимо запускать программы по одному и тому же адресу, например ?:\aaa\bbb\ccc\ddd.exe, где "?" - буква диска, которая только и меняется.
Хотелось бы кнопку на панели инструментов, которая позволяла бы открывать программу по заданному пути, где буква диска бралась из открытой левой вкладки.
Спасибо
Добавлено: Вс окт 27, 2013 18:48
Flasher
laburj писал(а):где буква диска бралась из открытой левой вкладки
Какое-то извращение. Это так принципиально?
Можно перебрать все внешне подключённые диски и в них искать нужное. Либо брать последнюю букву.
И это, конечно, не из области общих вопросов..
Добавлено: Вс окт 27, 2013 18:54
laburj
Flasher писал(а):Какое-то извращение. Это так принципиально?
Можно перебрать все внешне подключённые диски и в них искать нужное. Либо брать последнюю букву.
И это, конечно, не из области общих вопросов..
Если можно так, то было бы гораздо удобнее, я просто предположил, что взять букву диска из пути текущей вкладки будет проще
Добавлено: Вс окт 27, 2013 19:00
Flasher
laburj писал(а):Если можно так
Так - это как?
laburj писал(а): из пути текущей вкладки
Написано было:
laburj писал(а):из открытой левой вкладки
Левая ещё не значит
текущая или
активная.
Добавлено: Вс окт 27, 2013 19:07
laburj
Flasher писал(а):Так - это как?
В идеале так:
Flasher писал(а):Можно перебрать все внешне подключённые диски и в них искать нужное.
Flasher писал(а):Левая ещё не значит текущая или активная.
Согласен, признаю свою неточность
Добавлено: Вс окт 27, 2013 19:18
Flasher
laburj писал(а):В идеале так:
Т.е. брать первый попавшийся внешний диск, а не последний?
Добавлено: Вс окт 27, 2013 19:25
laburj
Да, первый попавшийся, у меня их обычно не больше 3х и одновременно не бывает подключенных флешек, где есть программы, которые таким способом я хочу запустить.
Добавлено: Вс окт 27, 2013 19:49
Flasher
Код: Выделить всё
'============================================================
' Запуск первой существующей программы из внешнего накопителя
' Параметр: <Путь без имени диска>
' Пример: "\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
Добавлено: Вс окт 27, 2013 20:03
Serge Yolkin
laburj
Если и Тотал запускать с той же флэшки, то диск будет называться %COMMANDER_DRIVE%
Добавлено: Вс окт 27, 2013 20:06
Flasher
Serge Yolkin
TYVM, КЭП.
Ясно же, что флешек много, а Тотал уже запущен..
Добавлено: Вс окт 27, 2013 21:43
CaptainFlint
[mod="CaptainFlint"]Перенесено в Автоматизацию.[/mod]
Добавлено: Вс окт 27, 2013 22:07
laburj
Flasher, большое спасибо! Всё работает!
Re: Кнопка для запуска приложения с флешки
Добавлено: Вс ноя 24, 2013 11:23
Моторокер
laburj писал(а):Необходимо запускать программы по одному и тому же адресу, например ?:\aaa\bbb\ccc\ddd.exe, где "?" - буква диска, которая только и меняется.
Если вкладка эта активная, почему сразу так не запускать?
\aaa\bbb\ccc\ddd.exe
Добавлено: Вс ноя 24, 2013 12:46
MVV
Можно запускать батником
run_from_label.bat:
Код: Выделить всё
@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 при условии, что батник лежит в папке тотала):
Код: Выделить всё
Команда: "%COMMANDER_PATH%\run_from_label.bat"
Параметры: MY_FLASH Program\Program.exe
В батнике в скобках команды
for задаются буквы дисков, для которых метка сравнивается с заданной. Можно убрать ненужные буквы и изменить порядок букв, поставив наиболее вероятные буквы раньше. Сравнение производится нестрогое, т.е. ищется первая буква диска, метка которой содержит указанный текст.
Добавлено: Вс ноя 24, 2013 18:53
Flasher
MVV
Думаешь, твой батник окажется быстрее моего скрипта?
Сократи хотя бы список через fsutil fsinfo drives.