我正在尝试从另一个脚本调用带有参数的批处理脚本。我有两个 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 /p
和 for /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/