从批处理文件中搜索.csv

用户名

我正在寻找创建一个批处理文件,该文件将在.csv中搜索一个特定的数字,然后使用csv中的第二个值作为回到批处理文件的输入。

例子:

csv名称= IP.csv

.csv示例

Store,IP
1000,192.168.1.1
2000,192.168.1.2
3000,192.168.1.3
4000,192.168.1.4
5000,192.168.1.5

批处理示例

Set /p Store=Enter the Store number:

**Search the .csv for the store number, then reply with the IP address.**

我知道这非常模糊,但是任何指导都将不胜感激。

谢谢!

德本纳姆

批处理非常容易。

@echo off
setlocal
set /p "store=Enter the store number: "
for /f "tokens=2 delims=," %%A in ('findstr /r "^%store%," "ip.csv"') do echo %%A

如果csv的布局发生更改,则该问题对于批处理而言可能变得非常复杂。例如,列值中的逗号会产生需要更多代码才能解决的问题。

我已经编写了一个名为REPL.BAT的混合JScript /批处理实用程序,该实用程序也可以使此问题简短化。它执行正则表达式搜索并替换stdin并将结果写入stdout。它是纯脚本,可​​从XP开始在任何Windows计算机上运行-无需下载exe。REPL.BAT在这里可用。完整的文档嵌入在脚本中。

REPL.BAT有很多选项,其中包括仅写出更改过的行的选项,因此非常适合此问题。假设REPL.BAT在您当前的目录中,或者更好的是,在您的PATH中的某个位置:

@echo off
setlocal
set /p "store=Enter the store number: "
type ip.csv|repl "^%store%,(.*)" $1 a

REPL.BAT消除了批量处理文本文件的许多复杂性。但是,在csv列值中处理逗号仍然很棘手。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

CSV文件中的“要复制的批处理文件”列

使用批处理文件替换 csv 文件中的 (C*)

批处理文件以搜索文件夹中的所有.csv文件以查找字符串

批处理文件以删除csv中的列

批处理文件以列出csv中的文件路径和文件名

需要使用批处理文件将csv文件中的所有记录的“””替换为“”

使用批处理文件从 csv 文件中删除特殊字符

使用批处理文件替换csv文件中的字符串

使用批处理文件合并多个csv文件

批处理文件:从.csv文件读取浮点值

使用批处理文件并排合并csv文件

使用批处理文件从 csv 中删除包含字段中特定数据的行

如何从 Windows 中的批处理文件乘以 CSV 表中的列

批处理文件:计算重复的ID,并将其写入CSV列中

批处理文件操作csv并用mysql导入

Vlookup CSV合并使用批处理文件

在循环批处理文件中使用CSV变量

Windows批处理文件将一个文件夹中的文件列出到csv/txt文件中

批处理文件以从 CSV 读取文件名并重命名文件夹中的文件

批处理文件以在条件下更新csv文件(如果文件存在)

需要帮助编写批处理文件以将文件名转换为csv格式

批处理文件以将行添加到FTP上的CSV文件

批处理文件-遍历csv并从两列创建路径变量

具有.csv输出的恒定ping批处理文件无法正常工作

批处理文件CSV字符串到金字塔

python 的批处理文件语法(*.* 或 *.csv)的等价物是什么?

Matlab批处理.csv文件

使用Windows批处理脚本在CSV文件中添加列

使用批处理将csv文件加载到mysql中?