por off lotes lista lenguaje hacer ejemplos como comandos batch bat autoejecutable archivos archivo windows scripting batch-file

windows - off - lenguaje batch



¿Cómo almacenar el nombre de host en una variable en un archivo.bat? (5)

Me gustaría convertir esta sintaxis /bin/sh en una secuencia de comandos por lotes de Windows ampliamente compatible:

host=`hostname` echo ${host}

¿Cómo hacer esto para que funcione en cualquier máquina con Windows Vista, Windows XP y Windows 2000?

Para aclarar: me gustaría continuar en el programa y usar el nombre de host como está almacenado en el host variable. En otras palabras, el objetivo más amplio del programa no es simplemente repetir el nombre de host.


¿Por qué no?

set host=%COMPUTERNAME% echo %host%


Estoy usando la variable de entorno COMPUTERNAME :

copy "C:/Program Files/Windows Resource Kits/Tools/" %SYSTEMROOT%/system32 srvcheck //%COMPUTERNAME% > c:/shares.txt echo %COMPUTERNAME%


Normalmente leo la salida del comando en variables usando el comando FOR ya que ahorra tener que crear archivos temporales. Por ejemplo:

FOR /F "usebackq" %i IN (`hostname`) DO SET MYVAR=%i

Tenga en cuenta que la declaración anterior funcionará en la línea de comandos pero no en un archivo por lotes. Para usarlo en un archivo por lotes, escape el % en la declaración FORT poniendo dos veces:

FOR /F "usebackq" %%i IN (`hostname`) DO SET MYVAR=%%i ECHO %MYVAR%

Hay mucho más que puedes hacer con FOR . Para obtener más información, solo escriba HELP FOR en el símbolo del sistema.


Solo crea un archivo .bat con la línea

hostname

en eso. Eso es. Windows también es compatible con el comando de nombre de host.


hmm - algo como esto?

set host=%COMPUTERNAME% echo %host%

EDITAR : expandir la respuesta de jitter y usar una técnica en una respuesta a esta pregunta para establecer una variable de entorno con el resultado de ejecutar una aplicación de línea de comando:

@echo off hostname.exe > __t.tmp set /p host=<__t.tmp del __t.tmp echo %host%

En cualquier caso, ''host'' se crea como una variable de entorno.