0

我正在尝试使需要最少后台进程的工作自动化。通常我会使用 C#,但这是有问题的,因为我要自动化的是一个测试进程,它扫描系统以查找正在运行的进程。命令窗口很好,但除此之外的大多数东西都会有问题。作为开始这一系列测试的一部分,我试图找到一种方法来让批处理文件从 .csv 文件中一次读取一行。每行包含 4 个值(当然,用逗号分隔),这些值应该放入变量中。第一个 var 将是测试编号。启动批处理文件时,我将提供一个测试编号作为 arg,并希望它将收到的测试编号与它从文件中读取的测试编号进行比较。如果匹配,继续测试。如果不,转到下一行并将该数据读入变量中。其他一切都非常简单,但我不知道如何让它以所描述的方式一次一行地读取和解析 .csv 文件。任何帮助,将不胜感激。

仅供参考,我很清楚如何在 C# 中执行此操作,并且我知道还有许多其他解决方案会比批处理文件更好(更容易)。但是,在我们的情况下,使用这些解决方案是一个糟糕的主意,有一些具体的原因,所以我们正试图用批处理文件去老派。

4

1 回答 1

2
@echo off
rem Read theFile.csv and get 4 tokens separated by commas
for /F "tokens=1-4 delims=," %%a in (theFile.csv) do (
   rem Tokens read are placed in %%a, %%b, %%c and %%d replaceable parameters
   rem If first token is equal to first Batch file argument
   if %%a equ %1 (
      rem Continue testing here, ie
      echo %%a,%%b,%%c,%%d
   )
)
于 2012-05-21T19:03:29.650 回答