Command Prompt / Console / Windows Subsystem for Linux (WSL)

Greetings from the Windows Command-Line Teams, including the Windows Console and Windows Subsystem for Linux (WSL) teams!

We’re hear to learn about the features you’d like to see in the Windows Console (the terminal app itself), Cmd and PowerShell shells, and the Windows Subsystem for Linux (WSL) upon which several Linux distros now run!

Note: Please don’t file bugs & issues here: file issues on our GitHub repos instead:

Please DO post your asks, ideas, wants and needs for future features: We ARE listening, and we ARE grateful for your feedback!

Windows Console & WSL Teams.

$ | >

(thinking…)

Enter your idea and we'll search to see if someone has already suggested it.

If a similar idea already exists, you can support and comment on it.

If it doesn't exist, you can post your idea so others can support it.

Enter your idea and we'll search to see if someone has already suggested it.

  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback
  1. CMD.exe - PID

    Could we have `cmd`'s process ID available as a magic-variable in the environment, a la %time% %date% etc?

    4 votes
    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      Signed in as (Sign out)

      We’ll send you updates on this idea

      1 comment  ·  Flag idea as inappropriate…  ·  Admin →
    • Please add some lineedit hotky to cmd?

      Can you guys add some line edit hotkey? like ctrl+a,cltrl+e ,cltr+u,ctrl+k etc , bash-style ,you know.

      3 votes
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        Signed in as (Sign out)

        We’ll send you updates on this idea

        0 comments  ·  Flag idea as inappropriate…  ·  Admin →
      • CMD.exe -random

        Currently, %random% is seeded for a CMD instance from the current second, so i more than one CMD process is generated in a second, each ill produce the same sequence of random numbers.

        Windows should provide one sytem-wide source of random number accessible via an API. CMD would then simply be another process wanting random numbers from the common source. This would make this undesirable behaviour disappear.

        T

        4 votes
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          Password icon
          Signed in as (Sign out)

          We’ll send you updates on this idea

          0 comments  ·  Flag idea as inappropriate…  ·  Admin →
        • CMD.exe - run silent, run deep

          Could we have an option to run a batch without creating a taskbar item so that we don't have to use VBA jiggery-pokery to hide a batch?

          4 votes
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            Signed in as (Sign out)

            We’ll send you updates on this idea

            0 comments  ·  Flag idea as inappropriate…  ·  Admin →
          • CMD.exe - Indirection

            Accessing the value of a variable whose name is stored in another variable means using something like

            set var2=!%var1%!

            which is painful and requires delayedexpansion.

            It would be easier if this could be implemented as

            set var2=%=var1%

            Where the leading "=" indicates indirection and is currently an illegal or at least illogical construct.

            So - %=var1% would be replaced by the parser with the parse-time content of (the name in var1) and !=var1! with the content of (the runtime content of var1)

            2 votes
            Sign in
            Check!
            (thinking…)
            Reset
            or sign in with
            • facebook
            • google
              Password icon
              Signed in as (Sign out)

              We’ll send you updates on this idea

              1 comment  ·  Flag idea as inappropriate…  ·  Admin →
            • Findstr option needed

              Findstr needs an option to return the count-of-matches, like "FIND /C"

              Since "C" is already occupied for FINDSTR, how about "/T" (for Total) - and implement the same "/T" as a synonym for "/C" in FIND?

              4 votes
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                Password icon
                Signed in as (Sign out)

                We’ll send you updates on this idea

                1 comment  ·  Console/Terminal  ·  Flag idea as inappropriate…  ·  Admin →
              • Please add an easy way to Tail a file

                Please add an easy way to tail a file, currently the command in power shell is too complicate to figure out and it has a lot of latency to show file changes. Implement it as same as in Linux ;)
                tail -f myfile.txt

                16 votes
                Sign in
                Check!
                (thinking…)
                Reset
                or sign in with
                • facebook
                • google
                  Password icon
                  Signed in as (Sign out)

                  We’ll send you updates on this idea

                  1 comment  ·  Console/Terminal  ·  Flag idea as inappropriate…  ·  Admin →
                • Ecko

                  Introduce a modified `echo` command (adding a switch to the existing may be awkward for backward-compatibility, so not an option...) but this `ecko` command does NOT issue a newline, allowing a report line to be built in segments rather than being accumulated into a variable and then displayed.

                  2 votes
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    Signed in as (Sign out)

                    We’ll send you updates on this idea

                    1 comment  ·  Console/Terminal  ·  Flag idea as inappropriate…  ·  Admin →
                  • Support long paths (>MAX_PATH)

                    Please support long paths (>MAX_PATH) - robocopy supports that, the Windows API supports that (=> "\\.\").
                    Right now I have to use subst to shorten the path, which is a real pain.

                    58 votes
                    Sign in
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      Password icon
                      Signed in as (Sign out)

                      We’ll send you updates on this idea

                      3 comments  ·  Console/Terminal  ·  Flag idea as inappropriate…  ·  Admin →
                    • Spinner

                      Permit a SPINNER [optionalstring] command

                      General structure:

                      spinner somestring
                      for ...(
                      spinner
                      )
                      spinner /end

                      where the first (optional) invocation sets a series of characters to be used as the spinner,

                      The second invocation, within (typically) a FOR loop advances the spinner to the next character in the string The spinner character replaces the cursor.

                      The third restores the initial cursor and resets the spinner string to the default "|/-\"

                      hence

                      for /l %%x in (1,1,8) do (
                      spinner
                      timeout /t 1 >nul
                      )
                      spinner /end

                      would replace the cursor with a spinner which changes once per second

                      spinner Microsoft …

                      1 vote
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        Password icon
                        Signed in as (Sign out)

                        We’ll send you updates on this idea

                        1 comment  ·  Console/Terminal  ·  Flag idea as inappropriate…  ·  Admin →
                      • SET /p additional options

                        Allow

                        set /r[character]

                        to replace input-characters with character (default "*") on the display for obscuring password-input, games, etc.

                        set /n

                        -similar, but does not show input at all so lenth-of-password is not visible.

                        2 votes
                        Sign in
                        Check!
                        (thinking…)
                        Reset
                        or sign in with
                        • facebook
                        • google
                          Password icon
                          Signed in as (Sign out)

                          We’ll send you updates on this idea

                          0 comments  ·  Console/Terminal  ·  Flag idea as inappropriate…  ·  Admin →
                        • CMD.exe dates

                          All utilities dealing with date/time (dir date time for...%~d) should have switches for Universal date format (eg ISO 8601 YYYYMMDDTHHMMSS) local or UTC and created/updated/accessed filedates.

                          6 votes
                          Sign in
                          Check!
                          (thinking…)
                          Reset
                          or sign in with
                          • facebook
                          • google
                            Password icon
                            Signed in as (Sign out)

                            We’ll send you updates on this idea

                            0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                          • Cross platform PowerShell

                            Make PowerShell cross platform so it can be used in build scripts and for automation with mono projects on all platforms.

                            4 votes
                            Sign in
                            Check!
                            (thinking…)
                            Reset
                            or sign in with
                            • facebook
                            • google
                              Password icon
                              Signed in as (Sign out)

                              We’ll send you updates on this idea

                              0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                            • FOR /r bug in W7 (probably others)

                              FOR /r "%sourcedir%" %%a in (filename)

                              if filename is not ambiguous (ie. contains neither "*" nor "?") then the result will scan each subdirectory of sourcedir, assigning subdirname\filename to %%a - not as expected, finding those files that match the pattern filename.

                              if filename IS ambiguous (ie. contains "*" or "?") then the result will scan each subdirectory of sourcedir, assigning subdirname\actualfilenamematchingthemask to %%a

                              IMHO, the match should be against the (set) as a flemask.

                              2 votes
                              Sign in
                              Check!
                              (thinking…)
                              Reset
                              or sign in with
                              • facebook
                              • google
                                Password icon
                                Signed in as (Sign out)

                                We’ll send you updates on this idea

                                0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                              • cmd.exe FOR /f options

                                FOR /f should have attional options:

                                EACH : same as delims but each delimiter encountered should increment the token counter. Hence with 'delims=,' the text ,col2,col3,,,col6 would assign token1=col2; token2=col3; token3=col6 but 'each=,' would assign token2=col2; token3=col3; token6=col6 (as logical columns 1,4 and 5 ar missing)

                                Option QUOTE should be implemented to turn off recognition of delimiters within "q,u,o,t,e,s"

                                "SKIP=0" should be allowed

                                NEWLINE should be allowed to assign NO tokens on an empty line

                                LINENUM should assign the line number (32-bit limit, not 16-bit) to the LAST token+1. Thus "linenumtokens=1-3" %%A would assign the line number to %%D

                                2 votes
                                Sign in
                                Check!
                                (thinking…)
                                Reset
                                or sign in with
                                • facebook
                                • google
                                  Password icon
                                  Signed in as (Sign out)

                                  We’ll send you updates on this idea

                                  2 comments  ·  Console/Terminal  ·  Flag idea as inappropriate…  ·  Admin →
                                • CMD.exe - Timeout errorlevel

                                  Currently, timout returns no errorlevel. It would be useful if timeout was to return the ASCII keycode for the interrupting key if it's interrupted by a keystroke.

                                  2 votes
                                  Sign in
                                  Check!
                                  (thinking…)
                                  Reset
                                  or sign in with
                                  • facebook
                                  • google
                                    Password icon
                                    Signed in as (Sign out)

                                    We’ll send you updates on this idea

                                    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
                                  • cmd.exe substringing and substitution

                                    Currently, set var=%avar:sub=replace% uses fixed characters for "beginning of substring (:)" "all characteruntil (*)" "with (=)" which are sometimes inconvenient.

                                    A command STRING :=+ might switch "+" to replace ":" for instance (syntax standardchar=replacementchar) STRING OFF might restore to standard.

                                    The syntax set var=%avar:*sub% Might be used to extract that leading part of avar up to the substring sub (note: no "with replacement" is specified)

                                    2 votes
                                    Sign in
                                    Check!
                                    (thinking…)
                                    Reset
                                    or sign in with
                                    • facebook
                                    • google
                                      Password icon
                                      Signed in as (Sign out)

                                      We’ll send you updates on this idea

                                      0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                    • CMD.exe forcing decimals

                                      set /a assumes that a string with a leading 0 is Octal which is very inconvenient, but must be retained for backward compatibiliy.

                                      If set /a encounters a string that starts `0d` then it should regard the remainder of the string as a decimal, hence currently '09` as in month-number 09 requires work-around action, but changing the set to set /a var=0d%date:~0,2% would then correctly assign 9 to var. The leading character allowed (and skipped) should be zeroes or spaces for maximum flexibility.

                                      1 vote
                                      Sign in
                                      Check!
                                      (thinking…)
                                      Reset
                                      or sign in with
                                      • facebook
                                      • google
                                        Password icon
                                        Signed in as (Sign out)

                                        We’ll send you updates on this idea

                                        1 comment  ·  Flag idea as inappropriate…  ·  Admin →
                                      • Windows Console should support tabbed 'pages'

                                        Great to see some of these improvements, especially the cut/copy/paste keyboard shortcuts. However, I've been seeking for a way for the cmd window to have a tabbed interface for a while. So, for example, I can run a ping/tracert etc. in one tab, a chkdsk in another tab, and something else in a third, without having multiple windows open taking up screen real estate.

                                        Also consider adding panes side-by-side within the console.

                                        1,579 votes
                                        Sign in
                                        Check!
                                        (thinking…)
                                        Reset
                                        or sign in with
                                        • facebook
                                        • google
                                          Password icon
                                          Signed in as (Sign out)

                                          We’ll send you updates on this idea

                                          65 comments  ·  Console/Terminal  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Quick launch shortcut

                                          It would be great option to let shell be Quake-style - to have it launched on start and quickly toggled by hotkey. Idea is inspired by Terra Terminal and Guake for *nix

                                          2 votes
                                          Sign in
                                          Check!
                                          (thinking…)
                                          Reset
                                          or sign in with
                                          • facebook
                                          • google
                                            Password icon
                                            Signed in as (Sign out)

                                            We’ll send you updates on this idea

                                            0 comments  ·  Console/Terminal  ·  Flag idea as inappropriate…  ·  Admin →
                                          • Don't see your idea?

                                          Command Prompt / Console / Windows Subsystem for Linux (WSL)

                                          Feedback and Knowledge Base