Как запустить команду при запуске командной строки в Windows
ИЗМЕНИТЬ
Если вы хотите выполнить любую задачу при запуске компьютера или на основе это очень полезно
http://answers.microsoft.com/en-us/windows/forum/windows_7-performance/how-to-schedule-computer-to-shut-down-at-a-certain/800ed207-f630-480d-8c92-dff2313c193b
Вернуться к вопросу
У меня есть два вопроса:
-
Я хочу, чтобы некоторые конкретные команды выполнялись при запуске командной строки.
например. cls
, чтобы очистить командную строку.
-
Я хочу выполнить некоторые команды в пакетном файле и дождаться, когда пользователь введет новые команды (если есть).
например. Пакетный файл, который приведет пользователя к определенной папке, а затем дождитесь, когда пользователь переименует/удалит файл из командной строки.
Как я могу это сделать?
Ответы
Ответ 1
Если вы хотите, чтобы определенный набор команд запускался каждый раз при запуске командной строки, лучшим способом добиться этого было бы указать init script в AutoRun. Создайте его так (расширяемое строковое значение позволяет использовать переменные среды, такие как %USERPROFILE%
):
reg add "HKCU\Software\Microsoft\Command Processor" /v AutoRun ^
/t REG_EXPAND_SZ /d "%"USERPROFILE"%\init.cmd" /f
Затем создайте файл init.cmd
в папке профиля:
@echo off
command_A
command_B
...
cls
Чтобы удалить эти изменения, удалить раздел реестра:
reg delete "HKCU\Software\Microsoft\Command Processor" /v AutoRun
Ответ 2
- Сделать ярлык
- Перейдите в свойства
- Бит, где он говорит:
C:\Users\<Your username>\Desktop\cmd.exe
, вы ставите: -cmd /K <your command here>
например.
C:\Users\Lewis\Desktop\cmd.exe -cmd /K color 1f
Это способ запускать 1 команду без необходимости общаться с реестром.
Запустить несколько команд
Вы также можете использовать оператор &
(и) для выполнения нескольких команд.
Eg.
C:\Users\Lewis\Desktop\cmd.exe -cmd /K color 1f & H: & <your command>
Кредиты: user6589073
Ответ 3
Извините за вопрос типа noob. Я должен был дать ему больше мысли. Я нашел ответ. Я должен использовать переключатель /K
, с помощью которого я могу ввести новую команду в открывшемся командной строке.
например. cmd /K cls
откроет для меня командную строку и очистит ее. (Ответьте на вопрос 1)
и
cmd /K MyBatchFile.bat
запустит командную строку, выполнит командный файл и останется в командной строке и не выйдет. (Ответьте на вопрос 2).
Ответ 4
Сначала нужно нажать клавишу Windows + R. В появившемся окне введите "regedit" (без кавычек). Редактор реестра Windows должен открыться. Теперь найдите HKEY_CURRENT_USER/Программное обеспечение /Microsoft/Командный процессор. Как только вы нажали на Командный процессор на левой стороне, нажмите Редактировать на верхней панели. Затем перейдите к New> String Value в меню Edit. Переименуйте строковое значение, которое появляется для автозапуска. Щелкните правой кнопкой мыши на Автозапуск и выберите Изменить. В области "Значения данных" введите команды, которые вы хотите запустить. Вы можете запустить несколько, набрав && между ними.