Batch file 当前正在使用批处理命令,是否可以指向值表?

Batch file 当前正在使用批处理命令,是否可以指向值表?,batch-file,Batch File,我正在使用批处理命令生成mylist.txt文件中的文本列表。例如 \\abc\asd \\def\as \\ghi\as 我目前有一个数据列表(大约2500行),每行有几个值/列,其中包含静态信息(类似于数据库)。该列表当前为csv格式 例如: \\abc\asd 123 home \\def\as 456 office \\ghi\as 789 elsewhere 我需要匹配mylist.txt中的值,并使用它执行批处理命令。我可以知道我该怎么做吗 我在考虑使用函

我正在使用批处理命令生成mylist.txt文件中的文本列表。例如

\\abc\asd
\\def\as
\\ghi\as
我目前有一个数据列表(大约2500行),每行有几个值/列,其中包含静态信息(类似于数据库)。该列表当前为csv格式

例如:

\\abc\asd   123   home
\\def\as   456   office
\\ghi\as   789   elsewhere
我需要匹配mylist.txt中的值,并使用它执行批处理命令。我可以知道我该怎么做吗

我在考虑使用函数,这意味着每个函数都将被命名为变量的一个值

其中一个函数将被称为“\abc\asd”。当mylist.text的值为“\abc\asd”时,将调用该函数

考虑到最终可能会有2500个功能,这是否可行?我想知道这是不是最好的办法。。请告知,谢谢


其他信息(10月12日编辑)


您好,我正在尝试比较文本文件中的行,如果该行与预定义的文本之一匹配,我希望执行批处理/cscript命令。这可能吗

我目前拥有的:

for /f "delims=" %%a in (input.txt) do (
set /a c+=1
set myVariable=%%a

REM if this line contains my predefined string A, execute a cscript command A
if not x%myVariable:prefinedtext1%==x%myVariable% echo theCommandIWantToExecute


REM if this line contains my predefined string B, execute a cscript command B
if not x%myVariable:prefinedtext2%==x%myVariable% echo theSecondCommandIWantToExecute

是的,这是可以做到的,并且对于一些功能来说非常容易。但维护起来会很痛苦,大约2500个功能可能会影响性能

下面是一个简单的示例数据演示

@echo off

for /f "delims=" %%C in (mylist.txt) do call :%%C
echo Done
exit /b

:\\abc\asd   123   home
echo Function 1 (%0)  arg1=%1 arg2=%2
exit /b

:\\def\as   456   office
echo Function 2 (%0)  arg1=%1 arg2=%2
exit /b

:\\ghi\as   789   elsewhere
echo Function 3 (%0)  arg1=%1 arg2=%2
exit /b
--输出---

如果每行的第一个值表示批处理脚本的路径,则可以从调用中删除
,然后将调用每个批处理脚本。你的主脚本将会很小,并且会表现得更好。但是要跟踪的批处理脚本太多了

@echo off

for /f "delims=" %%C in (mylist.txt) do call %%C
echo Done
exit /b

当您声明CSV时,我假设逗号分隔的值。您确定您的文件用空格分隔值吗?您好,很抱歉响应延迟。我正在尝试为每个函数执行批处理命令。这可能吗?我正在尝试比较文本文件中的行,如果该行与预定义文本之一匹配,我希望执行批处理/cscript命令。这可能吗?我目前拥有的:for/f“delims=“%%a in(input.txt)do(set/a c+=1 set myVariable=%%a REM如果此行包含我的预定义字符串a,则执行cscript命令a如果不是x%myVariable:PrefiedText1%==x%myVariable%echo命令如果此行包含我的预定义字符串B,则执行cscript命令B如果不是x%myVariable:PrefiedText2%==x%myVariable%echo第二条命令I)执行
@echo off

for /f "delims=" %%C in (mylist.txt) do call %%C
echo Done
exit /b