我试图在Electron桌面应用中展示用户和计算机信息,到目前为止它看起来不错。我需要通过过滤systeminfo | findstr
'键来优化它。并且只显示“价值”。
如果我在我的.js文件中运行此行:let winOSName = shell.exec('systeminfo | findstr /C:"OS Name"')
,我得到:操作系统名称:Microsoft Windows 10 Pro ,密钥和值之间有足够的空格。有没有办法过滤掉操作系统名称:'这里吗?
我的.js代码:
const shell = require('shelljs')
let path = require('path')
shell.config.execPath = path.join('C:', 'Program Files', 'nodejs', 'node.exe')
function getData () {
// For Windows
let winComputerName = shell.exec('hostname')
let winUserName = shell.exec('whoami')
// let winOS = shell.exec('ver')
let winOSVersion = shell.exec('systeminfo | findstr /C:"OS Name"')
let winOSOwner = shell.exec('systeminfo | findstr /C:"Registered Owner"')
let computerNameTextField = document.querySelector('#computerName')
let userNameTextField = document.querySelector('#userName')
let osNameTextField = document.querySelector('#osName')
let userEmailTextField = document.querySelector('#userEmail')
computerNameTextField.setAttribute('value', winComputerName)
userNameTextField.setAttribute('value', winUserName)
osNameTextField.setAttribute('value', winOSVersion)
userEmailTextField.setAttribute('value', winOSOwner)
}
我的HTML:
<div class="formHolder">
<form>
Computer Name:
<input type="text" name="computerName" id="computerName"><br>
User:
<input type="text" name="userName" id="userName"><br>
OS:
<input type="text" name="osName" id="osName"><br>
User Email:
<input type="text" name="osName" id="userEmail"><br>
</form>
</div>
答案 0 :(得分:0)
我通过使用.substring(x,x)来管理它。我希望它也适用于其他机器。
let winOSOwner = shell.exec('systeminfo | findstr /C:"Registered Owner"')
let userEmailTextField = document.querySelector('#userEmail')
userEmailTextField.setAttribute('value', winOSOwner.substring(27, 48))