У меня есть проблема, описанная здесь (вы можете прочитать ее для лучшего понимания). Мне нужно написать .bat файл, который меняет путь.

Например: при отправке команды в cmd: cd ~ я хочу перейти к% HOMEPATH%. На самом деле - я просто хочу заменить ~ на% HOMEPATH% в каждой команде, которая включает в себя каталоги.

Как мне этого добиться? Я прочитал здесь, что я должен положить путь изменения файла .bat внутри% PATH%. Как это сделать? И как закодировать эту функцию изменения пути на языке сценариев Windows?

Любой совет будет принят во внимание ;)

2 ответа2

0

Если я правильно понимаю ваш вопрос -

Командой, которую вы хотите, является "SETX", а не "SET". "SETX" установит переменную окружения повсеместно. В качестве альтернативы вы можете установить переменные среды через графический интерфейс, используя Панель управления> Система> Дополнительные параметры системы> Переменные среды.

Для того, что вы хотите сделать, вы можете использовать команду вроде:

SETX HP %USERPROFILE%

Тогда (в будущих окнах команд, а не в текущем) HP будет равно расположению% USERPROFILE%, которое обычно является C:\USERS\ в Windows 7.

Тогда в будущем вы можете использовать CD %HP% .

==========

Кроме того, вы можете создать символическую ссылку; однако символические ссылки будут указывать на конкретное местоположение. Например, вы можете использовать

MKLINK /D HP C:\USERS\WOJ

и затем команда CD HP доставит вас в C:\USERS\WOJ

Проблема с этим методом заключается в том, что вы должны находиться в каталоге, который содержит символическую ссылку для ссылки на него.

Ограничение, с которым вы сталкиваетесь, заключается в том, как Windows обрабатывает псевдонимы. Вы можете легко создавать псевдонимы команд в Windows с помощью DOSKEY, но местоположения не могут быть аналогичным псевдонимами, хотя на них ссылаются переменные среды (как системные, так и пользовательские). И переменные окружения требуют, чтобы вы использовали разделительные знаки% для выполнения замены.

0

Как сказал другой участник, «~» - вещь * nix. У Windows нет похожего соглашения, о котором я знаю.

Команду Path можно задать в командной строке с помощью команды set, но я не думаю, что это то, что вы ищете. Это дает командной строке список мест для проверки при выполнении команды. скажем, вы набираете "pkunzip", и он просматривает все пути, указанные в "PATHS", чтобы найти исполняемый файл. На самом деле он больше не использовался и был скорее вещью для DOS.

НО .... вы все еще можете использовать его как ярлык ...

если вы делаете что-то вроде

set somepath=c:\somefolder\somefolder

Тогда, когда вы хотите сослаться на это, вы можете сделать

dir %somepath%

Вы можете установить список всех переменных окружения "set", введя "set" в командной строке.

Это помогает вообще? Может быть, я не понимаю ваш вопрос.

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