【问题标题】:Read values from TXT file into CMD file将 TXT 文件中的值读入 CMD 文件
【发布时间】:2014-05-06 21:25:19
【问题描述】:

我正在尝试执行以下操作:

我有一份所有计算机的服务标签、内部编号和货架编号的列表。

我想显示计算机的服务标签以及我们的内部编号和货架编号,并将其捕获到日志文件中以供我们跟踪。

BIOS里面也存有服务标签,我知道如果我给出类似的命令

if %servicetag%==(here it looks for the same service tag from my text file) 

如果以上数字匹配,则可以显示service tag + internal number + shelf number

For /f  "skip=2 tokens=2 delims=," %%i in ('wmic bios get serialnumber /FORMAT:csv') do (set "servicetag=%%i")

(我不知道从我的 txt 文件中提取变量的行。我的 txt 文件的名称是 serverlist.txt)我什至不知道如何格式化我的 txt 文件中的信息。请帮忙!!

ECHO Comments="Service Tag: %servicetag%">>R:\SYSTEM.LOG
ECHO Comments="Inventory Number: %internalnumber%">>R:\SYSTEM.LOG
ECHO Comments="Shelf Number: %shelfnumber%">>R:\SYSTEM.LOG

【问题讨论】:

  • 您要查找的确切信息是什么?

标签: cmd


【解决方案1】:

由于新信息而完全编辑

@echo off
set "servicetag=XCB2MV"        REM for testing only
for /f "tokens=1-3 delims=," %%i in ('findstr "%servicetag%" Computerlist.csv') do (
  ECHO Comments="Service Tag: %%i"
  ECHO Comments="Inventory Number: %%j"
  ECHO Comments="Shelf Number: %%k"
)>>R:\SYSTEM.LOG

计算机列表.csv

BXC4MV,0042,03 
XCB2MV,0043,03 
C4MKQV,0044,04 
ERC9MV,0045,03

我将文件命名为.csv,因为这样您可以轻松地使用 Excel 打开它。但这只是一个简单的文本文件。

【讨论】:

  • 嗨斯蒂芬,感谢您的回复。我实际上不知道自己应该为我的 txt 文件保留什么格式。示例:BXC4MV 0042 03 XCB2MV 0043 03 C4MKQV 0044 04 ERC9MV 0045 03
  • 嗯,这取决于您需要什么以及如何使用它。您的评论表明,有几台计算机各自具有树值。我的提示:每台计算机一行,以; 分隔。读取,获取行直到为空,并通过for 分隔标记。如果您仅将文件用于此目的,我将只写入不带任何标签的数据。但这只是我个人的看法。
  • 谢谢 Stephan,换句话说,我的记事本文件应该看起来像 BXC4MV;0042;03 XCB2MV;0043;03 C4MKQV;0044;04 ERC9MV;0045;03
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-15
相关资源
最近更新 更多