如果此条件为真,则需要基于给定输入(例如33355 = ID)使用批量搜索CSV文档,然后将行数据存储到变量中。 (Mike = Name)和(C:\ Name \ 222 = path)。BATCH:根据标识符搜索CSV,然后将行存储到变量中
到目前为止,我已经设法将CSV的每一行存储到变量(var0-var999)中。 For循环遍历电子表格中的每一行并为每行分配一个变量,例如%VAR1%...%VARN%。给定行号码例如VAR2,将其分离为变量(A,B,C),但我坚持如何基于标识符实现CSV搜索功能。
以下屏幕截图是包含在我的电子表格中的一个小例子。最多有三列,大约有1500行。第一列将包含人员的ID,第二列将是名称,第三列将是本地文件夹的路径。
CSV目录
ID,Name,Path
9353,Lol,C:\Name\lol
33355,222,C:\Name\222
5533,ABC,C:\Name\ABC
批处理脚本
@echo off
setlocal ENABLEDELAYEDEXPANSION
set test=0
for /F "tokens=*" %%A in (C:\Users\COMMON\Desktop\test\test.csv) do (
SET /A test=!test! + 1
set var!test!=%%A
)
set var
REM set list=%VAR2%
FOR /f "tokens=1-3 delims=," %%a IN ("%VAR2%") DO (
set a=%%a
set b=%%b
set c=%%c
)
ECHO %c%
PAUSE
我现在面临的第二个challange是我主要的Excel表格包含了超过1000条记录。使用批处理脚本,我可以看到存储999个变量后停止执行。根据输出结果,我不认为将每行分析并存储到变量中是执行我的要求的最有效方式。
我感谢您的意见和反馈,并等待您的回复。
非常感谢!
宣言
我们需要在运行的电子表格中看到CSV内容,而不是文件的外观。我们需要确切地知道你想要以什么形式输出。我也希望在你发布的脚本中对变量'%VAR2%'进行解释。不要将该信息添加到评论或答案中,请使用编辑工具更新您的初始问题。 – Compo