batch-file - 无法使用“FOR”命令设置变量

标签 batch-file

我试图通过“for/f”命令设置几个变量,并且当我回显它们时总是得到“ECHO is off”:

ipst.txt 文件:

1     10.1.1.10
3     10.1.3.10
8     10.1.3.10

批处理文件:

@ECHO OFF
set Computerslist=ipst.txt

for /f "tokens=1,2" %%A in (%Computerslist%) do (
    set StationNumber=%%A
    set StationIP=%%B
    echo %StationNumber%
    echo %StationIP%
    )

结果是:

ECHO is off.
ECHO is off.

这个问题阻止我获取变量并在更多循环中使用它们。 需要你的帮助:)

最佳答案

MC ND 是正确的。选择以下 2 种方式之一:

@ECHO OFF
set Computerslist=ipst.txt

for /f "tokens=1,2" %%A in (%Computerslist%) do (
    set "StationNumber=%%A" & echo.%%A
    set "StationIP=%%B" & echo.%%B
    )

@ECHO OFF
setlocal enabledelayedexpansion
set Computerslist=ipst.txt

for /f "tokens=1,2" %%A in (%Computerslist%) do (
    set StationNumber=%%A
    set StationIP=%%B
    echo.!StationNumber!
    echo.!StationIP!
    )

关于batch-file - 无法使用“FOR”命令设置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22063599/

相关文章:

powershell - 如何使用脚本中的参数启动一个新的 Powershell 窗口?

batch-file - For 循环解析路径中带有空格的文件,命令提示符

batch-file - 批处理文件查找包含子字符串的文件名

batch-file - 批量检测键盘输入

java - 如何为具有依赖项的Java程序创建cmd文件

windows - 为什么我的 Windows 批处理文件在满足条件后不断循环?

java - 批处理文件显示无法找到或加载主类

c - Turbo C 和批处理文件

git - 如何在批处理文件中将多行命令输出转换为逗号分隔的字符串

batch-file - 对于 7z zip 的文件,仅最后修改的文件