batch-file - 如何使用批处理循环将值分配给一组文件中的多个变量?

标签 batch-file for-loop

我正在尝试从另一个脚本调用带有参数的批处理脚本。我有两个 txt 文件,其中包含 PC IP 地址列表和服务列表,以检查这些 PC 上的运行情况。我计划这将远程检查大量 PC 上的服务状态或文件是否存在。我尝试过的 main.bat 包含:

for /f %%i %%j in (PCList.txt FileList.txt) do call anotherscript.bat %%i %%j

绝对它不应该工作,因为手册页中没有这样的东西,我知道。我正在尝试使用两个变量,它们分别保存来自两个文件的两个值,并使用两个参数调用 anotherscript.bat。我可以玩一个变量和一个文件。 anotherscript.bat 包含:
psexec.exe \\%1 -s IF EXIST "%2" ( echo File exist : %2 >>"%~dp0\logs.txt" )

FileList.txt 包含
"C:\Program Files\Java\jre1.8.0_144"
"C:\Program Files\Java\jre1.8.0_144\bin"

PCList.txt 包含
LANS14118815
LANS14118816

有什么解决方法吗?请支持。谢谢

最佳答案

您需要一种方法来并行读取两个文件。这可以通过同时使用两种方法来实现(<file1 set /pfor /f ... in (file2)):

@echo off
setlocal enabledelayedexpansion

<pclist.txt (
  for /f "delims=" %%a in (filelist.txt) do (
    set /p out=
    ECHO call anotherscript.bat "!out!" "%%~a"
  )
)

删除 ECHO ,如果输出是你需要的。

关于batch-file - 如何使用批处理循环将值分配给一组文件中的多个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72830373/

相关文章:

batch-file - 将文件存储在批处理文件中?

batch-file - 可以在 FOR 循环中对文件进行排序/排序吗?

Java批量读取字符串

c++ - 无法填充 C++ 数组,每个索引处只有最后一项

C++ : Trouble with a nested if loop not ending properly

c - 计算偶数或奇数然后将它们相加的 for 循环

php - 我如何在 azure 中为 php 应用程序设置 webjob

java - 对于循环整数和字符串变量?

MySQL 如何循环存储过程?

Tomcat 无法启动,未提供任何错误 (Windows 7)