需要过滤systeminfo findstr

时间:2018-04-16 20:33:23

标签: javascript html shell electron

我试图在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>

1 个答案:

答案 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))