1

Итак, я начал Java в школе, и мы должны скомпилировать и запустить наш код через CMD (без прав администратора)(в Windows 10). Каждый раз, когда я открываю CMD, мне приходится менять каталог на папку bin, чтобы иметь возможность выполнять мои вещи на Java. Мой вопрос: есть ли способ открыть CMD, чтобы уже выполнялись определенные команды? то есть, когда я открываю CMD или любой другой файл, который я создаю, может ли каталог уже быть установлен там, где я хочу (а также другой цвет шрифта и заголовок для окна CMD), тогда я могу начать использовать CMD как обычно? Я не нашел ни одного приемлемого ответа нигде.

1 ответ1

2

Если вы хотите запускать некоторые команды при каждом открытии любого окна командной строки, вы можете создать строковую переменную HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun в реестре Windows и задать для нее путь к сценарию .cmd/.bat . Этот скрипт затем может выполнять любые команды, которые вы хотите. Из cmd /?:

Если /D НЕ было указано в командной строке, то при запуске CMD.EXE он ищет следующие переменные реестра REG_SZ/REG_EXPAND_SZ , и, если присутствует один или оба, они выполняются первыми.

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun

и /или

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun

Будьте предупреждены: я на самом деле не рекомендую устанавливать переменную AutoRun поскольку она влияет на все экземпляры cmd.exe и может иметь непредвиденные (и, возможно, сбивающие с толку) побочные эффекты, которые потом будет трудно отлаживать, если вы забудете, что AutoRun установлен в реестре.


В качестве альтернативы, если вы хотите иметь возможность дважды щелкнуть значок, выполнить некоторые команды и получить интерактивное окно командной строки, вместо этого вы можете создать сценарий .cmd (или .bat):

@echo off
cd SOME_DIRECTORY
SOME_COMMAND
SOME_OTHER_COMMAND

cmd /k

Двойной щелчок по этому сценарию выполнит указанные команды, вызовет подоболочку cmd.exe и оставит ее работать в ожидании дополнительного ввода.

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