En un entorno de fiesta por lo general lo hago:Windows batch files: ¿Cómo establecer una variable con el resultado de un comando?
var=$(command -args)
y la utilizo $var
con su valor enchufar como el resultado del comando. Lo mismo ocurre a una más convencional
set var=`command -args`
compatible en casi todos los shell UNIX.
¿Cómo podría definir una variable en un archivo Windows Bat como ese? He intentado
set var=command -args
pero solo me dan cuerda del "comando -args".
use 'for/f" delims = "% a in ('ver') do @set foobar =% a' en el símbolo del sistema. use 'for/f" delims = "%% a in ('ver') do @set foobar = %% a' en archivos de script – georg
Una alternativa ligera es Gnu On Windows (https://github.com/bmatzelle/gow)/wiki). Simplemente abre un símbolo del sistema y ejecuta 'bash'. Entonces puedes escribir comandos bash. También puede ejecutar scripts bash. – Nathan
Tenga en cuenta que si su comando incluye una tubería, entonces necesita escapar de ella con un símbolo de intercalación, por ejemplo: para/f "delims =" %% a in ('echo foobar^| sed -es/foo/fu /') do @set foobar = %% a – yoyo