He ejecutado la siguiente línea de comando,
netsh wlan show profile MyWiFi-name key=clear >key.txt
Salida, key.txt
Profile MyWiFi-name on interface Wireless Network Connection:
=======================================================================
Applied: All User Profile
Profile information
-------------------
Version : 1
Type : Wireless LAN
Name : MyWiFi-name
Control options :
Connection mode : Connect automatically
Network broadcast : Connect only if this network is broadcasting
AutoSwitch : Do not switch to other networks
Connectivity settings
---------------------
Number of SSIDs : 1
SSID name : "MyWiFi-name"
Network type : Infrastructure
Radio type : [ Any Radio Type ]
Vendor extension : Not present
Security settings
-----------------
Authentication : WPA-Personal
Cipher : CCMP
Security key : Present
Key Content : password@1
Mi necesidad es, solo necesito Key Content
como salida en un archivo de texto. Por favor ayuda.
POR EJEMPLO: la salida esperada en el key.txt
archivo es,
password@1
mycmd | find /i "key content"
entonces puede obtener solo la línea que desea y luego su problema es menor, ya que tiene la línea que desea, entonces solo necesita obtener la última 'palabra'. Existe el comando 'for / f', puede tokenizar, hay ejemplos, es un poco complicado, tal vez alguien aquí pueda publicar una solución para usted con él. Recomiendo instalar un lenguaje de programación normal (script o no), en lugar de un lote que es tan funcional como un parapléjico ciego. Aún así es muy factible en lote.a=`type abc.txt`
puts a.scan(/Key Content.*?$/)[0].split(": ")[1]
ESO es trivial de hacer.Respuestas:
La salida esperada en el archivo key.txt es
Utilice el siguiente archivo por lotes (test.cmd):
Ejemplo:
Otras lecturas
fuente
Realicé antes de un script por lotes para encontrar y mostrar todos los SSID registrados en una PC con sus contraseñas y guardarlos en un archivo de texto.
Wifi Contraseñas Recovery.bat
Resultados de salida como este:
fuente