Realizar sustitución de comandos Símbolo del sistema de Windows

Realizar sustitución de comandos Símbolo del sistema de Windows

¿Cómo se pueden realizar sustituciones de comandos en el símbolo del sistema de Windows?

La sustitución de comandos es un concepto muy poderoso del shell UNIX. Se utiliza para insertar la salida de un comando en un segundo comando. Por ejemplo, con una tarea:

$ today=$(date) # starts the "date" command, captures its output
$ echo "$today"
Mon Jul 26 13:16:02 MEST 2004

Esto también se puede usar con otros comandos además de las asignaciones:

$ echo "Today is $(date +%A), it's $(date +%H:%M)"
Today is Monday, it's 13:21

Esto llama al comando de fecha dos veces, la primera vez para imprimir el día de la semana y la segunda para la hora actual.

Necesito saber cómo hacer eso en el símbolo del sistema (ya sé que hay una manera de realizar algo así usando como parte del forcomando, pero esta manera es mucho más confusa y complicada.

Respuesta1

No puedes hacer eso en DOS.

Si por DOS te refieres al procesador de comandos de Windows, cmd.exeentonces puedes obtener el resultado de un comando con for /f:

for /f %%x in ('date') do set "today=%%x"

Dependiendo de sus requisitos, esto puede volverse un poco más complejo.

Respuesta2

Si desea una sustitución de comando genuina al estilo Unix, no las funciones más limitadas que obtiene con cmd.exe, considere obtener un shell Unix genuino para Windows. Dos que puedo sugerir sonCygwin(gratis, pero no comprende muy bien el sistema de archivos de Windows) y el míoCarcasa Hamilton C(comercial, pero escrito para Windows).

información relacionada