簡體   English   中英

在Windows命令行輸出前附加文本

[英]Append text in front of a windows command line output

我有一個Windows批處理文件,需要修改幫助。 我用它根據序列號命名我們的新PC。 我可以成功創建一個簡單的批處理文件來運行命令並復制輸出,但是我想在輸出的序列號之前添加一些文本,以便我可以輕松地用我們的標准格式命名PC。

我試圖找到一種在命令前添加文本的方法,但是它會破壞命令或不會全部顯示出來。

@ECHO OFF
TITLE Serial Number grabber
COLOR 0a
@echo ON
WMIC BIOS GET SERIALNUMBER
@echo off
pause

我希望輸出說出類似“ ABC-Serialnumber”的內容,例如,CMD行窗口中的輸出將輸出:ABC-1234XYZ

您可以將序列號重定向到文本文件中。 從批處理腳本中調用PowerShell,以剝離除編號以外的所有內容。 然后將其讀入var以使用所需的前綴讀取

set prefix=ABC
WMIC BIOS GET SERIALNUMBER>Serial.txt
powershell -command "(Get-content Serial.txt) -replace 'VMware-| ','' | select-object -skip 1 | Set-content Serial.txt"
set /p serial=<serial.txt
set Computer_Asset=%prefix%-%serial%
echo %Computer_Asset%

PowerShell行是

  • 讀取文件(獲取內容)
  • 替換VMWare-並將所有空格替換為空(-替換“要替換的第一個字符串|在此情況下為空格的第二個字符串”,“要替換為的值”
  • 跳過文件的第一行(選擇對象-跳過1)
  • 將新內容寫入文件(set-content)

將文件內容輸入到串行變量中。

現在,您只需使用前綴和序列號設置資產名稱(設置asset_tag =%prefix%-%serial%)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM