Saltar al contenido

Cambiar la salida del comando de pausa en el script por lotes

Contamos con tu ayuda para extender nuestros escritos sobre las ciencias de la computación.

Solución:

Podrías ocultar el texto del pause comando usando esto:

pause >nul

Luego, podría hacer eco de su propio mensaje para decirle al usuario que se ha detenido:

echo The batch file has paused

Entonces, el guión completo podría verse así:

@echo off
echo Hello World!
echo The batch file has paused
pause >nul

Espero que esto ayude 🙂

Aquí hay una sola línea

  pause>nul|set/p =any key to exit ...

Es un poco más corto (uno menos ‘nulo’) que la solución de Aacini:

  set/pnul

y, con la ‘pausa’ primero, creo que está un poco más claro cuál es la intención.

Con ambos

  cursor stays on the same line  
  ANY key works, not just 'enter'  

Sin embargo, tampoco son tan buenos como los hipotéticos

  pause/t any key to exit ...

Es difícil creer que ‘pause’ haya sobrevivido 35 años sin esta habilidad 😉

Las soluciones con ‘echo’ tienen la nueva línea final posiblemente indeseable,
pero proporcione varias líneas de texto:

  Pause>nul|(echo  All your bases &echo  are belong to us &echo Press any key to die...)

bv

“No era realmente lo que estaba buscando, me preguntaba si había alguna manera de cambiar el texto de salida del comando Pausa, no solo una solución”. – Hashim

¡Sí tu puedes! Pero debe tener en cuenta que PAUSE es un comando interno del programa CMD.EXE, por lo que, para modificar el mensaje que muestra PAUSE, debe modificar el archivo CMD.EXE. Para hacer eso, debe usar un editor que pueda modificar archivos binarios. Usé el programa XVI32 a través de estos pasos:

1- Copy CMD.EXE file to a new folder created for this purpose: COPY %COMSPEC%
2- Edit the copy of CMD.EXE with XVI32.EXE program:
   2.1- Locate the message you want. Messages are stored in 16-bits elements with the high byte equal zero. To locate a message:
        2.1.1- In Search> Find> Text string> enter the message you want.
        2.1.2- Convert Text -> Hex
        2.1.3- Insert a zero after each letter-value
        2.1.4- Press Ok
   2.2- Modify the message for the new one. Modify existent letters only and keep zeros in place. Note that you can NOT extend any message.
   2.3- End the edition and save the modified file.

Ahora puede ejecutar CMD.EXE para obtener el mensaje de PAUSA modificado. Hice una prueba de este procedimiento:

C:DOCUME~1AntonioMYDOCU~1My WebsXVI32 Hex File Editor
>pause
Press any key to continue . . .

C:DOCUME~1AntonioMYDOCU~1My WebsXVI32 Hex File Editor
>cmd
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:DOCUME~1AntonioMYDOCU~1My WebsXVI32 Hex File Editor
>pause
Oprime una tecla para seguir. .

Notas para todos los que lean esta respuesta:

NOTA 1: ¡Por favor, no publique ese comentario diciendo que NUNCA se debe modificar el archivo CMD.EXE! Pienso lo mismo. Acabo de publicar esta respuesta para que el OP se diera cuenta de lo que realmente pidió …

NOTA 2: La revisión del archivo CMD.EXE con un editor de texto, como el Bloc de notas, es muy interesante. Puede ver todos los comandos internos, detalles interesantes (como las variables = ExitCode y = ExitCodeAscii), todos los mensajes de error, etc. Por ejemplo, estos son los comandos internos:

C O L O R   T I T L E   C H D I R   C L S   C M D E X T V E R S I O N
D E F I N E D   C O P Y     P A T H     P R O M P T     P U S H D   P O P D
A S S O C   F T Y P E   D A T E     D E L   D I R   E C H O     E N D L O C A L
E R A S E   E R R O R L E V E L     E X I T     E X I S T   B R E A K   F O R
G O T O     I F         K E Y S     M K D I R   M D     N O T   P A U S E   R D
R E M       M O V E     R E N A M E     R E N   R M D I R   S E T   S E T L O C A L
S H I F T   S T A R T   T I M E     T Y P E     V E R I F Y   V E R   V O L   = , ; + / [ ]      "     : .  


                                         P A T H E X T   P A T H     P R O M P T

                                                           F O R / ?   I F / ?     R E M / ?



            % s               % s
       % s 

         / A     / P     : E O F         
       f d p n x s a t z   D O
/ L     / D     / F     / R         I N     E L S E     ( % s )   % s       % s   % s % s
     % c % c     % s   % s                 & ( ) [ ]   ^ = ; ! % ' + , ` ~               

Tienes la opción de añadir valor a nuestra información colaborando tu experiencia en las interpretaciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *