[Windows Bat脚本] For命令使用

前言

之前。想要在windows的机器上运行一个For循环. 读取配置文件并进行处理的脚本. 借此机会, 简单的学习了一下Bat脚本相关经验.


配置文件 & Bat脚本

  • test.properties
# test.properties

baixu@https://www.batdu.com
tenxu@=https://www.qq.com

注意. 本次文件选择的分隔符为@. 因为使用=, 在url链接串里面会出现. 会导致部分替换异常.

  • test.bat
@echo off

setlocal EnableDelayedExpansion



FOR /f "eol=# tokens=1,2 delims=@" %%i IN (test.properties) do (

  set key="key:%%i"

  set value="value:%%j"

  @ping -n 3 127.0.0.1>nul

  echo %key%  %value%

  @ping -n 3 127.0.0.1>nul

)


@ping -n 100 127.0.0.1>nul

三 要点

  • @echo off: 隐藏命令行

  • eol=#: 读取文件里面#号开头不读取

  • tokens=1,2 delims=@ : 以@分割. 且只取1和2号位. 1号位位%%i, 2号位为%%j. 注意FOR命令批处理内的对象需要加%%作为转义符.

  • set key="key:%%i" 设置变量. 变量使用时为 %key%.

  • @ping -n 3 127.0.0.1>nul : 此处是为了替代睡眠命令.

  • 注意延迟变量. 和 cmd /v:on /c开启. 否则%key%, 这种set命令赋值后的变量值是无法生效的.


Reference

[1]. 批处理延迟变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值