Я бы рекомендовал, прежде всего, открыть окно командной строки и ввести start /?
, чтобы прочитать информацию об использовании.
Для вашего первого примера вам нужно просто
Start
ваш исполняемый файл
linc.exe
напрямую, вам не нужно менять рабочий каталог, чтобы сделать это:
@Start "" "C:\Program Files (x86)\Microsoft Office\root\Office16\lync"
В приведенном выше примеревы заметите, что поскольку первая строка в двойных кавычках, как ожидается, будет заголовком, я использовал пустую строку, чтобы ваша команда не читалась как единая. Также, если вы не можете быть уверены, что .EXE
является записью значения в %PATHEXT%
, вы должны включить это расширение .exe
, то есть @Start "" "C:\Program Files (x86)\Microsoft Office\root\Office16\lync.exe"
.
В качестве заключительного примечания, как lync.exe
- это продукт Microsoft Office, я вполне ожидаю, что его путь будет введен в реестр под HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\lync.exe
. В этом случае вам вообще не нужно вводить его путь, и все, что нужно, будет следующее:
@lync
Для второго примера первое, что вы должны заметить из выводаиз
start /?
означает, что вы должны запускать исполняемый файл с его скриптом в качестве аргумента, а не запускать скрипт с исполняемым файлом в качестве аргумента.
Если ваша команда AHk не требует, чтобы ваш текущий каталог был еесобственные, должно хватить следующего:
@Start D:\.PortableApps\AutoHotkey_1.1.28.02\AutoHotkeyU64 D:\.PortableApps\AutoHotkey_1.1.28.02\notifier.ahk
Если в каких-либо из этих имен или путей есть пробелы или другие отравляющие символы, то лучше использовать более безопасный вариант в двойных кавычках, дополненный исполняемым расширением:
@Start "" "D:\.PortableApps\AutoHotkey_1.1.28.02\AutoHotkeyU64.exe" "D:\.PortableApps\AutoHotkey_1.1.28.02\notifier.ahk"
Если вам нужно изменить каталог, чтобы команда AHk работала правильно, тогда у вас есть два варианта в соответствии с предоставленными вами тестами:
@PushD D:\.PortableApps\AutoHotkey_1.1.28.02
@Start AutoHotkeyU64 notifier.ahk
@PopD
Если вы не можетеубедитесь, что .EXE
является записью значения в %PATHEXT%
, вы должны включить это расширение .exe
, то есть @Start AutoHotkeyU64.exe notifier.ahk
. Кроме того, если в пути к каталогу в первой строке есть пробелы, его можно заключить в двойные кавычки, если этот путь отсутствует в файловой системе NTFS.
Для непосредственного использования параметра Start
, аналогично первому примеру :
@Start /D D:\.PortableApps\AutoHotkey_1.1.28.02 D:\.PortableApps\AutoHotkey_1.1.28.02\AutoHotkeyU64 notifier.ahk
Если в каких-либо из этих имен или путей есть пробелы или другие отравляющие символы, то лучше использовать более безопасный вариант в двойных кавычках, дополненный исполняемым расширением:
@Start "" /D "D:\.PortableApps\AutoHotkey_1.1.28.02" "D:\.PortableApps\AutoHotkey_1.1.28.02\AutoHotkeyU64.exe" "notifier.ahk"
Во всех приведенных выше примерах команды были добавлены с
@
. Если ваш сценарий уже выключен
echo
, то вы можете опустить все эти предшествующие символы.