Почему командное окно всегда исчезает сразу в Windows 7?

4

Я надеюсь, что я упускаю что-то ослепительно очевидное здесь, но я не могу заставить вещи, которые я запускаю из окна команд, оставаться открытыми.

1. Я открываю новую командную строку (windows key + r) + «cmd» 2. Я пытаюсь использовать любую из возможностей, указанных в моем вопросе ниже, в появившемся окне 3. Новое окно ruby ​​открывается, а затем закрывается, и я могу не вижу ничего на выходе

Например, я пытаюсь написать код ruby ​​и запустить rspec. Тем не менее, я пытался

  • rspec
  • cmd /k rspec
  • start /B rspec
  • из меню запуска: cmd rspec(rspec даже не запускается)

Каждый раз, когда окно закрывается, как только оно завершает работу. Было бы здорово, если бы он просто выполнялся в том же окне, которое я открыл и оставил открытым.

Есть ли какие-то настройки, которые мне здесь не хватает?

В качестве обходного пути я могу запустить, irbа затем использовать метод обратной галочки, как так

`rspec`

И это хорошо работает - вывод сохраняется на экране, и я могу продолжать работать. Но это действительно больно. В Windows XP было намного проще, и мне трудно поверить, что Windows 7 не может поддерживать нечто подобное.

JoeyC
источник
6
Я не «делаю» Windows, но наверняка решением было бы запустить просто «cmd», а затем запустить «rspec» в окне командной строки?
Давидго
боюсь, что это не работает. Надеюсь, мое обновление проясняет
ситуацию

Ответы:

3

Введите cmdв поле поиска меню «Пуск», щелкните правой кнопкой мыши cmd.exe, выберите « Запуск от имени администратора» , выберите «Да» в диалоговом окне «Контроль учетных записей пользователей» и введите пароль администратора, если будет предложено.

Это открывает командную строку с повышенными правами . Теперь запустите ваши команды Ruby как обычно.

Каран
источник
Да, черт возьми! Это сработало. Спасибо :)
JoeyC
1
Пожалуйста. :) Угадай, какая у тебя программа, нужное повышение. Как правило, вы можете знать, что в этом случае EXE-файл имеет сине-желтый щит на значке. Вы также можете создать ярлык командной строки в режиме администратора, как описано здесь .
Каран
2
Вы также можете использовать сочетание клавиш Ctrl + Shift + Enter, чтобы запустить выбранную программу от имени администратора из меню «Пуск». Спасает вас от необходимости использовать мышь.
Dracs
1
@Dracs: Да, или Ctrl + Shift + Left_click, если вас интересует комбинация клавиатура + мышь! В любом случае, я использую сочетание клавиш для быстрого вызова командной строки с повышенными правами, а прием планировщика заданий также можно использовать для подавления запроса UAC.
Каран
1

Нет никаких причин, почему это не будет работать так же в Windows 7 - я подозреваю, что это будет до разрешений или аналогичных.

Создайте пакетный файл - скажем, «runrspec.bat»

Там вставьте команду rspec, а на следующей строке поставьте 'pause'.

Затем запустите файл .bat вместо rspec. Команда паузы остановит закрытие окна до тех пор, пока вы не нажмете клавишу, так что вы можете увидеть любую возникающую ошибку.

Алан Б
источник
0

Проблема в том, что вы выполняете это из команды run. Это означает, что как только программа заканчивает работу, окно консоли закрывается (поскольку вы явно не вызывали окно консоли).

В поле поиска в меню «Пуск» (или выберите «Все программы» -> «Стандартные» -> «Командная строка») введите CMD и нажмите, enterчтобы открыть окно консоли. Теперь введите ваши команды (например rspec)

Дейв
источник
Спасибо за попытку, но это не работает. Я добавил это в свой список вещей, которые я попробовал в этом вопросе
JoeyC
1
@JoeyC Пожалуйста, откройте командную строку в меню «Все программы» -> «Стандартные» -> «Командная строка», затем введите команду ping 8.8.8.8 и нажмите Enter - автоматически закрывается ли экран
Дейв
1
@JoeyC: что не работает? Нигде в вашем обновленном вопросе я не вижу, где вы сначала запустили cmd, а затем выполнили rspec в командной строке.
Каран
@DaveRook - к сожалению, я нигде не могу найти командную строку - ее нет в принадлежностях или если я пытаюсь
выполнить
WinKey - R откроет окно «Выполнить», попробуйте ввести «CMD» и нажать Enter. Это также должно вызвать окно командной строки.
MikeAWood