Если у меня есть исполняемый файл с именем «test.exe», в командной строке его вызовет следующая команда:

тестовое задание

Однако, если у меня есть ярлык для того же выполнения в другом месте под названием «test.lnk», просто набрать "test" в командной строке не работает. Вместо этого я должен набрать:

test.lnk

Есть ли способ заставить меня выполнить test.lnk, просто набрав "test" в командной строке?

2 ответа2

1

для постоянного изменения вы можете использовать следующие команды:

для всего пользователя (для текущего пользователя):

setx pathext %pathext%;.lnk

общесистемный (для всех пользователей м achine):

setx /m pathext %pathext%;.lnk

setx делает переменную среды вместо переменной сеанса, которая существует только в процессе cmd.exe где она установлена

Другое решение - использовать mklink для создания символической ссылки (символьной ссылки) вместо ярлыков.

например:

mklink test.exe "c:\program files\application\test.exe"

символические ссылки не имеют расширения и размера .lnk

пс:

после использования вышеупомянутых команд setx вы можете найти ваши переменные здесь в окне переменных среды, которое может быть отображено с помощью этой команды:

rundll32 sysdm.cpl,EditEnvironmentVariables

имп:

в отличие от set , setx - это внешняя команда, т.е. исполняемый файл, который по умолчанию находится в папке c:\windows\system32 и поэтому может отсутствовать в некоторых версиях или выпусках окон.

0

Добавлять ;.LNK до конца env var PATHEXT . Для одного экземпляра CMD вы можете просто SET PATHEXT=%PATHEXT%;.LNK .

Для постоянного изменения (все CMD в будущем), найдите Advanced System Properties или Advanced System Settings, которые происходят в разных местах в разных версиях Windows, нажмите Environment Variables и посмотрите в разделе System Variables (нижняя половина).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .