Rectangular text selection in Command Prompt
Although we are not the developers, we are perfectly capable of reading what the developers have written on the matter.
- Adam Denning (2014-10-07). Console Improvements in the Windows 10 Technical Preview. Building Apps for Windows. Microsoft.
- Scott Hanselman (2014-10-01). Windows 10 gets a fresh command prompt and lots of hotkeys.
- Rafael Rivera (2014). New experimental console features in Windows "Threshold".
This is not cmd
. cmd
isn't a GUI program and isn't in charge of displaying console windows. This is conhost
, and two years ago a group of Microsoft developers decided to add a whole lot of improvements to it, one of which is "line selection". They did so because they believe that they are addressing user desires — users like you who go around mumbling about the clunky copy and paste feature in Windows NT consoles.
There's a whole wish-list system, which Microsoft calls a "user voice", for the console subsystem, the command interpreter, and the new Windows NT Linux Subsystem. Here are two fairly relevant wish-list entries from 2014:
- Joel Bennett (2014-10-02). Switch between block and line text selection with a modifier
- Roeland (2014-10-01). Perhaps already in but: change console size more easily (80x25? c'mon :)).
Since we are not the developers, we cant give a definitive answer. However, I can make an educated guess.
Starting off with Q2, this is just a better method. When selecting data, you generally want to select the output, or the command you just entered, etc. You want to select just the data you want, not everything else. A rectangular box might force you into selecting white space, carriage returns, and other unwanted information. This method allows you to capture all the data you need in one string.
As for Q1, well... Im guessing they thought that it was a good idea as it matched drawing a selection in the Windows environment. Like dragging a selection box on the Windows Desktop. However, this method wasnt good, as if you captured more than one line and tried to paste it into a field that only takes one, problems occurred. Either there would be not enough data, or to much.