我想要一个打开的批处理文件:
我的代码
SETLOCAL EnableDelayedExpansion
FOR /F "tokens=*" %%v in (C:\users\anhall\desktop\test\list.txt) DO START c:\users\anhall\desktop\test\starter.bat
ENDLOCAL & SET computer=%v%
这只是一个例子,当我得到所有内容时,我会发现列表中应该有几百个项目。但我可能会将其分解为较小的列表以便于运行。
list.txt
NHN-0073
NHN-0115
NHN-0846
这是我在主窗口上最终得到的结果:
我可以看到它无法正常工作,因为它甚至不会传到ENDLOCAL & SET computer=
我主要担心的是将变量带入每个新窗口。我知道这是可能的,但我无法让它发挥作用。
我的代码
SETLOCAL
FOR /F "tokens=*" %%v in (C:\users\anhall\desktop\test\list.txt) DO START c:\users\anhall\desktop\test\starter.bat %%v
更改为starter.bat
changed variable to %1
答案 0 :(得分:1)
只需在命令行中传递它:
for /F %%v in (YourFile.txt) do start c:\users\anhall\desktop\test\starter.bat %%v
修改您的starter.bat
文件以使用%1
从命令行接收变量。
:: Starter.bat - replace echo with your actual command
@echo %1
(从命令行执行此操作意味着您永远不会更改computer
环境变量,因此您可以删除第一个批处理文件末尾的& SET
。)