El uso de la línea de comando netsh wlan show interfaces muestra el resultado a continuación, sin embargo, estoy tratando de crear una secuencia de comandos donde pueda extraer Profile : 3MobileWiFi-3D71 y solo devolver el resultado después de : entonces puedo hacer una secuencia de comandos JS para luego usar estos datos con la siguiente línea de comando Netsh wlan show profile name="${DeviceFromInterfaces}" key=clear que luego solo devolverá los siguientes datos que necesito: Key Content : REDACTED
¿Cómo obtendría estos datos usando este módulo: child_process que usa exec para ejecutar la mayoría de las cosas mencionadas anteriormente?
Security settings ----------------- Authentication : WPA2-Personal Cipher : CCMP Authentication : WPA2-Personal Cipher : GCMP Security key : Present Key Content : REDACTED[Interfaces]
There is 1 interface on the system: Name : WiFi Description : Intel(R) Dual Band Wireless-AC 3160 GUID : REDACTED Physical address : REDACTED State : connected SSID : 3MobileWiFi-3D71 BSSID : REDACTED Network type : Infrastructure Radio type : 802.11n Authentication : WPA2-Personal Cipher : CCMP Connection mode : Profile Channel : 11 Receive rate (Mbps) : 65 Transmit rate (Mbps) : 65 Signal : 90% Profile : 3MobileWiFi-3D71 Hosted network status : Not availableProbablemente usaría child_process.spawn o child_process.spawnSync para ejecutar los comandos y luego usaría expresiones regulares para analizar la salida. Así es como se vería para el primer comando:
import {spawn} from 'child_process'; let stdOut = ''; const evaluator = spawn('netsh', ['wlan', 'show', 'interfaces']); evaluator.stdout.on('data', (data) => { stdOut += data.toString(); }); evaluator.on('close', () => { const regex = /^profile.*:\s/i; const profile = stdOut .split('\n') .map((ln) => ln.trim()) .find((ln) => ln.match(regex)) .replace(regex, ''); console.log(profile); }); La devolución de llamada proporcionada al evento de close en el evaluator devolvería el nombre del perfil, después de lo cual podría tomar ese resultado y canalizarlo en su próximo comando, utilizando el mismo tipo de lógica para analizar los datos necesarios.