Ejecutar systeminfo y guardar en archivo con Python

codigo python

 

En este artículo veremos como ejecutar comandos de windows desde Python y guardar el resultado en un archivo de texto. Empecemos con nuestro artículo, ejecutar systeminfo y guardar en archivo con Python.

En primer lugar, vamos a ver y conocer el comando systeminfo de Windows, que permite al administrador, conocer la configuración básica del sistema.

Para ello, vamos a: Inicio ->Ejecutar->cmd y en la consola de Windows escribiremos: systeminfo

 

 

El código

import os

comando = "systeminfo"

resultado = os.popen(comando)
datos= resultado.readlines()

nombre_pc= datos[1].split(" ")[-1].split("\n")[0]
nombre_fichero= "informacion-"+nombre_pc+".txt"

fichero = open(nombre_fichero,"w")
fichero.writelines(datos)
fichero.close()

print (nombre_fichero)

 

Como ejecutar comando Windows y extraer información de un campo

En el siguiente código, se importa la librería os que será la que permita ejecutar comandos de Windows en el script.

>> import os
>>> comando = “systeminfo”

 

Ejecutaremos el comando y almacenaremos el resultado en una variable

>> resultado = os.popen(comando)
>>> datos = resultado.readlines()
>>> datos

 

Si imprimimos el contenido de la variable datos obtendremos como resultado una lista con los datos del comando systeminfo en cada una de las posiciones del array.

>[‘\n’, ‘Nombre de host:                            EQUIPMENT\n’, ‘Nombre del sistema operativo:              Microsoft Windows 10 Fucker edition\n’, …..<contenido omitido>…..<contenido omitido>….]

 

 

Para obtener el nombre del host, debemos llamar a la posicion 1 del array y quitar todos los espacios en blanco que se observan en la imagen anterior.

>>>>> datos[1].split(” “)
[‘Nombre’, ‘de’, ‘host:’, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ”, ‘EQUIPMENT\n’]

 

Vemos que el nombre del host está al final del array. Para obtenerlo añadimos el indice[-1] que nos posiciona en la última posición. (Empieza a contar desde atras).

>>>>>>>> datos[1].split(” “)[-1]
‘EQUIPMENT\n’

 

Ahora quitamos el salto de línea “\n”

>>>>>>>> >>> datos[1].split(” “)[-1].split(“\n”)
[‘EQUIPMENT’, ”]

 

Y posicionaremos en el indice [0] que es donde se encuentra ahora el nombre del Host

>>>>>>>>>>> datos[1].split(” “)[-1].split(“\n”)[0]
‘EQUIPMENT’

 

Guardando el resultado en un fichero

El fichero tendra como nombre, informacion-nombredelhost.txt y contendrá toda la información que resulta al ejecutar el comando systeminfo


nombre_fichero= "informacion-"+nombre_pc+".txt"

fichero = open(nombre_fichero,"w")
fichero.writelines(datos)
fichero.close()

print (nombre_fichero)

Espero que este artículo, aparte de haberme servido para practicar un poco este lenguaje, también haya podido ser de utilidad, a alguno de mis lectores. Reciban un fuerte saludo.

Ejecutar systeminfo y guardar en archivo con Python

1 Comment

Leave a Reply

Tu dirección de correo no será publicada.


*