【问题标题】:How to split variables in batch files如何拆分批处理文件中的变量
【发布时间】:2014-10-23 21:41:15
【问题描述】:

我需要从变量中获取 IP,并替换最后 3 位数字。所以我需要它来获取 %IPvariable% 并删除最后三位数字并将前六位保存为其他变量。任何帮助深表感谢。 :)

【问题讨论】:

  • 分享您的研究对每个人都有帮助。告诉我们您尝试了什么以及为什么它不能满足您的需求。这表明您已经花时间尝试帮助自己,它使我们免于重复明显的答案,最重要的是它可以帮助您获得更具体和相关的答案!另见how to ask
  • 在我看来他只是不知道从哪里开始。

标签: variables batch-file cmd split ip


【解决方案1】:

以命令行为例:

FOR /F "tokens=1-4 delims=." %G IN ("127.0.0.254") DO echo %G %H %I %J

在批处理文件中,您需要在变量前面添加一个额外的 %(即 %G --> %%G)

将 IP 分成 4 块后,您可以根据需要重新组装。

类似:

FOR /F "tokens=1-4 delims=." %G IN ("127.0.0.254") DO echo %G %H %I %J & set "var=%G.%H.%I" & echo %var%

您当然会用您的 %IPvariable% 替换“127.0.0.254”硬编码 IP。

有关 FOR /F 的更多详细信息,请参阅此:http://ss64.com/nt/for_f.html

【讨论】:

  • 谢谢!这正是我所需要的!
【解决方案2】:

另一种方式,如果您确定始终是最后 3 位数字:

@echo off
Set "$ip=127.0.0.254"
set "$New=253"

set "$ipnew=%$ip:~0,-3%%$New%"

echo New IP = %$IpNew%

【讨论】:

    【解决方案3】:

    这会将批处理文件中的最后一个八位字节更改为666

    for %%a in (%IPvariable%) do set IPvariable=%%~na.666
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多