Временное изменение свойств консоли в Windows 7

10

В Windows XP, когда вы вносите изменения в настройки консоли (не только для командной строки, но и для всех консольных приложений), например, размеры, цвета, шрифты и т. Д., Он спрашивает, хотите ли вы сделать изменения постоянными, или только для этого случая. Это очень полезно, потому что иногда вы хотите изменить его только для одного экземпляра, а не навсегда.

В Windows 7 кажется, что внесение изменений всегда делает их постоянными. (Обратите внимание, я говорю о Propertiesпункте меню, а неDefaults пункт меню, отсюда и проблемы.)

Есть ли способ / настройка, чтобы заставить Windows 7 вести себя как XP в этом отношении?

Synetech
источник
Интересно. Он изменяет текущий экземпляр, но затем все новые экземпляры наследуют новые свойства.
ChrisF
3
Ага; Это похоже на то, что опция «Свойства» равна опции «По умолчанию» (и в любом случае подсказки нет).
Synetech
Думаю, вы нашли новую ошибку! Позвоните мэру, чтобы осветить флаг Microsoft в небе ...
канадец Люк

Ответы:

2

Я уверен, что кто-то в MS думал, что старый способ (начиная с NT) сбивал людей с толку, поэтому они удалили его. Так же, как и вы, я использовал это, и мне понравилась идея. Ну да ладно!

Вот как вы получаете ту же функциональность.

Создайте новый ярлык в папке по вашему выбору. Командная строка папки - cmd.exe. Запустите его, а затем измените свойства. Свойства будут сохранены в ярлыке .
Если вам нужны другие сохраненные свойства, создайте другой ярлык и, если он находится в той же папке, просто назовите его отличным от первого ярлыка, и он также сохранит свои свойства таким же образом.

Если вы запустите cmd.exe прямо из поля «Выполнить», он будет иметь свойства Windows по умолчанию.

@Syntech поднял интересный момент, который заслуживает дальнейшего разъяснения.
Меню управления командной консоли Пункт меню по умолчанию в меню консоли для Windows Vista и выше не влияет напрямую на текущий сеанс. В отличие от ссылки, на самом деле кажется, что она применима только к окнам консоли, которые не являются cmd.exe. Почему, потому что после того, как вы установили «Свойства» окна с заголовком «c: \ windows \ system32 \ cmd.exe», они становятся постоянным «по умолчанию» для всех будущих открытых окон, которые имеют одинаковый заголовок (то есть ... cmd. exe), и они больше не смотрят на значения свойства "Default" "console". Если вы сделаете ярлыки, как я объяснил выше, вы получите выгоду от каждого ярлыка, «запоминающего» свои настройки для каждого сеанса при каждом запуске.

От Windows NT до XP поведение было другим. И это поведение, на которое ссылался оригинальный вопрос. В XP и более ранних версиях при изменении свойств вам предлагается выбрать, как показано ниже. Исходный плакат с вопросом отсутствует, как и я, опция «Применить свойства только к текущему окну».
Свойства консольного окна изменяются в XP

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

НТН

Ссылка:
http://technet.microsoft.com/en-us/magazine/ff758104.aspx

LMSingh
источник
I'm sure someone at MS thought the old way was confusing for people so they removed it.Вы имеете в виду, как существовал пункт меню для изменения текущей консоли и отдельный пункт для изменения консоли по умолчанию, или как Windows специально спрашивала, хотите ли вы изменить только это окно или применить изменение навсегда? И то, и другое кажется мне совершенно разумным, рациональным и понятным. На самом деле, теперь гораздо более запутанно то, что пункты меню « Свойства» и « Значения по умолчанию» делают одно и то же . Это излишне и бессмысленно. …But oh well!Такое пораженческое отношение мешает переменам и прогрессу. :-P
Synetech
@Syntech о "о хорошо" .. Я пытался сказать что-то еще, но ... о хорошо! ;-) Я уточню остальное в самом ответе.
LMSingh
1

На самом деле, если вы изменяете настройки через пункт меню «Свойства» в окне «Командная строка», это не влияет на все экземпляры, и у диалоговых окон «По умолчанию» и « Свойства» есть две разные цели.

Значения по умолчанию

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

Он включает как минимум одну функцию, которая недоступна в диалоговом окне «Свойства», возможность включать и отключать автозаполнение.

свойства

Диалог Свойства позволяет вам настроить конфигурацию для ярлыка, который запустил этот экземпляр командной строки.

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

введите описание изображения здесь

Пока все хорошо, но это никогда не было вопросом. Итак, как вы делаете временные изменения только для этого единственного открытого экземпляра?

Я думаю, ты не можешь. Лучшее, что я мог придумать, - это запустить временный экземпляр start cmdи настроить свойства для этого, что, похоже, не влияет ни на какой другой ярлык.

Der Hochstapler
источник
1
Очевидно , что вы пропустили очевидный шаг запуска start cmdснова , потому что второе окно действительно взять на себя свойство , которые вы только что установили; это имеет смысл, потому что HKCU\Console\%SystemRoot%_system32_cmd.exeизменяется, когда вы делаете то, что предлагали, так что фактически все запущенные консоли по умолчанию приобретают новые свойства. Причина, по которой это не повлияло на другие ваши ярлыки, заключается в том, что это ярлыки, поэтому внесение изменений влияет только на файл ярлыков . Если вы запуститеcmdнапример, консоль будет изменена.
Synetech
@Synetech: Ха, действительно. В этом случае он вернулся colorи mode, я думаю, P
Der Hochstapler
Самая раздражающая часть состоит в том, что у них есть два отдельных пункта меню: Свойства и Значения по умолчанию, которые делают то же самое. Я уже пытался подавать отчёты об ошибках для Windows, но они усложняют и игнорируют их в любом случае. :-(
Synetech
@Synetech Забавная история, хотя. Поскольку я всегда использую ярлык, закрепленный на панели задач, для запуска экземпляра консоли, я никогда не понимал, как правильно воздействовать на все экземпляры. Теперь это прекрасно работает (зеленый текст везде, пока).
Der Hochstapler
Я всегда предпочитал горячую клавишу ( Win+P) ярлыку; это аналогично Run → cmd, поэтому я узнал о записи в реестре еще тогда. (К сожалению, Microsoft расстроила мой выбор горячих клавиш, пытаясь
скопировать