Como mostro o código de retorno do comando anterior no prompt da linha de comando do Windows?

1

Lembro-me de poder fazer isso e a documentação que encontrei indica que $r deve mostrar o código de retorno (também conhecido como "código de saída") do comando anterior. Quando eu tento isso, o prompt termina no local de $r da seguinte forma:

prompt $+$p$crc=$r$f$g

resulta no seguinte

C:\Temp(rc=

Se eu remover $r da seguinte maneira, recebo a solicitação completa:

prompt $+$p$crc=$f$g

C:\Temp(rc=)>

Esse recurso foi removido do Windows? Preciso "ativá-lo" ou algo está faltando?

    
por Bernhard Hofmann 09.01.2017 / 17:17

1 resposta

2

Este recurso foi removido do Windows?

$R nunca foi um código especial para o texto do prompt em um shell cmd do Windows.

Para exibir o código de erro, use o seguinte comando:

echo %errorlevel%

Você pode definir o prompt para incluir o nível de erro, mas obtém o valor de errorlevel no momento em que o prompt é definido, para que nunca seja alterado.

prompt %errorlevel%

Nota:

$R retorna o nível de erro em um prompt de comando dos / 2:

$R Error level (OS/2)

Fonte Aprimorando seu PROMPT com sequências ANSI

ajuda

Prompt can be made up of normal characters and the following special codes:

  $A   & (Ampersand)
  $B   | (pipe)
  $C   ( (Left parenthesis)
  $D   Current date
  $E   Escape code (ASCII code 27)
  $F   ) (Right parenthesis)
  $G   > (greater-than sign)
  $H   Backspace (erases previous character)
  $L   < (less-than sign)
  $N   Current drive
  $P   Current drive and path
  $Q   = (equal sign)
  $S     (space)
  $T   Current time
  $V   Windows version number
  $_   Carriage return and linefeed
  $$   $ (dollar sign)

If Command Extensions are enabled the PROMPT command supports
the following additional formatting characters:

  $+   zero or more plus sign (+) characters depending upon the
       depth of the PUSHD directory stack, one character for each
       level pushed.

  $M   Displays the remote name associated with the current drive
       letter or the empty string if current drive is not a network
       drive.
    
por 09.01.2017 / 18:12