我正在寻找创建一个批处理文件,该文件将在.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] 删除。
我来说两句