-2

我正在寻找一种快速的方法来从 CSV 中查找一行数据的信息(或者它可以以任何格式保存)。需要提示用户输入确切的名称,返回的将是其他详细信息。下面的示例表。

Name | Mfr | Model | Number | Asset | Location | Unit | Install

AOM69-WC-2d HP  PROLIANT DL360 G7   USEX13S5NW  90901X3 F99 85  X2547d5

Roswell-Con-21x HP  PROLIANT DL360P GEN8    USE2O35QP0  8223173 X22 63  V2355863

我的想法:

Enter the Name you are looking for:> AOM69-WC-2d

返回以下数据:

AOM69-WC-2d has the following information: HP   PROLIANT DL360 G7   USEX13S5NW  90901X3 F99 85  X2547d5
4

1 回答 1

0

Windows 命令 shell 不是图灵完备的编程语言,如果不使用其他语言编写辅助命令,你会发现很难做任何非常复杂的事情 - 在这种情况下,你不妨使用另一种语言 - 或使用第三方实用程序来执行一些任务。

Windows 批处理文件的缺点在很大程度上已通过Windows PowerShell得到解决,但对于此应用程序来说,两者都可能不是最佳选择。

但是,您几乎可以执行以下操作:

@echo off
set /p name=Enter the name you are looking for:>
findstr /c:"%name%" datafile.csv

要获得您建议的精确输出,需要对findstr输出执行一些字符串处理,而 Win32 中不支持该输出。您可以将 的输出通过管道findstr传输到类似的东西sed,其 Windows 版本可以在此处找到。然而,PowerShell 直接支持字符串处理。

于 2013-11-13T20:31:01.447 回答