Isn't that nicely recursive?
I've got a portable command prompt on my external drive, and it has a nice .bat file to configure some initial settings, but I'd like more!
Here's what I know how to set from .bat:
- Colors = (color XY) where x and y are hex digits for the predefined colors
- Prompt = (prompt $p$g) sets the prompt to "C:\etc\etc >" the default prompt
- Title = (title "text") sets the window title to "text"
- Screen Size = (mode con: cols=XX lines=YY) sets the columns and lines size of the window
- Path = (SET PATH=%~d0\bin;%PATH%) sets up local path to my tools and appends the computer's path
So that's all great. But there are a few settings I can't seem to set from the bat. Like, how would I set these up wihtout using the Properties dialogue:
- Buffer = not screen size, but the buffer
- Options like quick edit mode and autocomplete
- Popup colors
- Font. And can you use a font on the portable drive, or must it be installed to work?
- Command history options
For true Buffer Size adjustment use DOSKEY /LISTSIZE=size
You can't change colors within the shell anymore since Microsoft took ANSI ESC control out of the command/cmd prompts.
Regarding auto-completion:
Couldn't find any command history options in there ( cmd /? ), and it looks like the other options you asked about are set exclusively through registry settings.
You can set these values through a shortcut (.LNK file).
I have a shortcut on my desktop with this as the "Target:"
%windir%\system32\cmd.exe /K C:\MIKE\STARTUP.CMD
The /K switch tell CMD to run the batch file (which sets some variables, the prompt, etc.) and then stay open.
If you right-click on the shortcut and view its properties, you can set the window and buffer size, popup colors, starting position (x,y axes) etc. The settings will be saved in the shortcut itself and will be applied every time you open CMD using that shortcut.
Regarding setting the buffer size:
Using
mode con: cols=XX lines=YY
sets not only the window (screen) size, but the buffer size too.If you specify a size allowed by your system, based on available screen size, you'll see that both window and buffer dimension are set to the same value; .e.g:
results in the following (values are the same):
By contrast, if you specify values that are too large based on the available screen size, you'll see that the window size changes to its maximum, but the buffer size is changed to the values as specified.
With a screen resolution of 1280x1024, you'll get: