[Windows Bat脚本] For命令使用

9. 部署和环境搭建 同时被 3 个专栏收录
36 篇文章 0 订阅
1 篇文章 0 订阅

前言

之前。想要在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]. 批处理延迟变量

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值