Windows 批处理(bat) for循环语句使用教程

这篇具有很好参考价值的文章主要介绍了Windows 批处理(bat) for循环语句使用教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

for指令基本格式

基本格式: for %%i in (command1) do command2

注意事项:

  1. for、in 和 do是for语句的关键字,它们三个缺一不可;
  2. 在 in 之后,do 之前的括号"()"不能省略,do 后可以有括号,且括号内不能有注释
  3. %%i 是for语句中对形式变量的引用
  4. for语句的形式变量I,可以换成26个字母中的任意一个,这些字母会区分大小写
  5. in和do之间的command1表示的字符串或变量可以是一个,也可以是多个,每一个字符串或变量,我们称之为一个元素,每个元素之间,用空格键、跳格键、逗号、分号或等号分隔
@echo off

for %%a in (ele1 ele2 ele3) do (
	echo %%a
)
for %%a in (1,2,3) do (
	echo %%a
)
pause

Windows 批处理(bat) for循环语句使用教程

 

指令参数

1. 参数 /d(D) 遍历文件夹

格式:for /d %%i  in (路径) do command

括号里的 * 代表bat文件所在的目录

@echo off
for /d %%i in (*) do (echo %%i)
pause

2. 参数 /l(L) 数字序列

格式:for /l %%i  in (start,step,end) do command

表示以step为增量从开始到结束的一个数字序列

@echo off
for /l %%i in (1,3,20) do (echo %%i)
pause

Windows 批处理(bat) for循环语句使用教程

 

3. 参数 /f(F) 打印文件内容

不加参数,默认以空格分割此行文本,即只显示第一个空格前或此行结尾前文本

格式:
for /f ["options"] %%i IN (file) DO command
for /f ["options"] %%i IN ("string") DO command
for /f ["options"] %%i IN ('command') DO command
  1. file为文件名,for会依次将file中的文件打开,而且在进行到下一个文件以前将每一个文件读取到内存,按照每一行分为一个一个的元素,忽略空白的行
@echo off
for /f %%i in (.\test.txt) do (echo %%i)
pause

Windows 批处理(bat) for循环语句使用教程
如果不加 /f 参数,只会显示 test.txt 文件名字

3.1 /f "delims= "

此外,还可以将每一行分解为更小的内容

for /f "delims= " %%i in (.\test.txt) do echo %%i

delims这个参数,=后面有一个空格,意思是再将每一个元素以空格分割,默认是只取分割以后的第一个元素
/f "delims=" 注意:这种 = 后不指定分割符的,会打印整行文本

3.2 /f "tokens=2 delims= "

tokens的作用就是当你经过delims将每一行分为更小的元素时,由它来控制要取哪个或哪几个

:: 取 dilims 分成的第2个元素
for /f "tokens=2 delims= " %%i in (a.txt) do echo %%i

:: 取 dilims 分成的第24个元素
for /f "tokens=2,3,4 delims= " %%i in (a.txt) do echo %%i %%j %%k
for /f "tokens=2-4 delims= " %%i in (a.txt) do echo %%i %%j %%k
:: i j k 分别代表取的三个元素

:: 取 dilims 分成的第2之后的元素
for /f "tokens=2,* delims= " %%i in (a.txt) do echo %%i %%j %%k

3.3 /f “skip=1”

skip 来告诉for跳过前两行。

@echo off
for /f "skip=1" %%i in (.\test.txt) do (echo %%i)
pause

3.4 /f “eol=1”

eol 来告诉for忽略以“.”开头的行。

@echo off
for /f "eol=1" %%i in (.\test.txt) do (echo %%i)
pause

4. 参数 /r(R) 是否在子目录中查找文件

格式:
for /r "目录路径" %%a in (匹配规则,例如*.txt) do 执行操作

 文章来源地址https://www.toymoban.com/news/detail-443831.html

高级用法

搜索目录下有哪些文件

@echo off
::搜索当前目录下的文件
for %%i in (*.*) do echo "%%i"
:: 或者
for /r "目录路径" %%a in (匹配规则,例如*.txt) do 执行操作
pause

到了这里,关于Windows 批处理(bat) for循环语句使用教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 快速修改分辨率 Windows bat 批处理

    首先需要两个GitHub上的开源项目 https://github.com/imniko/SetDPI/releases 这个下载realese里的 SetDpi.exe 直链:https://github.com/imniko/SetDPI/releases/download/v1.0/SetDpi.exe https://github.com/RickStrahl/SetResolution 这个直接在仓库里有binary二进制文件 sr.exe 直链:https://github.com/RickStrahl/SetResolution/blob/mast

    2024年02月09日
    浏览(46)
  • Windows bat 批处理 日期时间格式化

    有一个批处理脚本,脚本中根据当前日期,动态的生成日志文件, 如:当前是 2023年06月20日,我希望生成的日志文件名为:XX_20230620.log Windows 在批处理中 获取日期和时间的方式如下: echo %time% 输出的时间格式: HH:MM:SS.NN HH :时 MM :分 SS :秒 NN :厘秒(注意不是毫秒,1秒

    2024年02月11日
    浏览(70)
  • Jenkins通过SSH远程执行Windows批处理bat程序

    确保Windows上成功安装了OpenSSH,可参考:Windows系统下安装OpenSSH-CSDN博客 自行百度 系统管理系统配置,找到Publish over SSH,点击新增 点击 Test Configuration,提示Success,即成功。 关于Remote Directoy参数: 1.为空或不填,会工作在C:UsersAdministrator目录下,即Username对应的目录下 2.如

    2024年04月10日
    浏览(62)
  • 如何检测Windows服务停止后自动启动?自动运行.bat批处理文件?

    作者:西瓜程序猿 主页传送门:https://www.cnblogs.com/kimiliucn 想要确保你的Windows服务即使在崩溃后也能自动重启吗?这篇文章教你如何用一个小巧的批处理脚本来实现这一点。教你怎么设置定时检查,如果发现服务挂了,就立刻拉起来。跟着步骤做,让你的服务稳定运行不再是

    2024年02月05日
    浏览(69)
  • Windows BAT批处理字符串相关操作(字符串定义、分割、拼接、替换、切片、查找)

    使用 set 来定义字符串 代码说明: 将字符串Hello赋值给string1的变量 使用 %string1%%string2% 的方式完成字符串的拼接。 代码说明: 用来连接字符串的字符串,如果包含了特殊字符则需要使用 ^ 转义,并且需要使用 \\\"\\\" 括起来,特殊字符包括(但不限于): 符号 作用 @ 命令行回显

    2024年02月12日
    浏览(45)
  • 在window使用bat批处理文件执行cmd命令

    1、新建一个txt文本文档。然后在文档里面写入如下代码: 意思是在路径E:environmentELKlogstash-6.5.4bin执行logstash -f logstash.conf命令。路径、命令用隔开,命令之间也用隔开。如果还需要新增多条命令如Java-version则在logstash -f logstash.conf后面加java-version代码如下: 2、编辑好之后,

    2024年02月11日
    浏览(52)
  • windows系统cmake生成c++动态库无lib文件解决方法 && bat文件批处理cmd命令

    作为cmake初学者,在windows系统下使用cmake生成c++动态库时出现了下图所示问题,是关于lib文件的。找了一圈,也没发现生成有lib文件。 在google上查,才发现windows系统下动态库生成lib文件,还需要添加以下命令: 生成动态库Demo(链接在此) 文件目录架构: ——源文件目录 —

    2023年04月25日
    浏览(44)
  • 使用批处理文件(.bat)启动多个CMD窗口并执行命令

    由于每次启动本机的kafka都需要打开2个cmd窗口,分别启动zookeeper服务和kafka服务,操作相对繁琐,于是想起了批处理来帮忙一键启动。 在桌面新建一个txt文件,改后缀名为.bat,并加上下面的代码。 代码结尾不加pause的原因是,执行完关闭窗口,因为不需要该窗口保留着,免得

    2024年02月16日
    浏览(51)
  • BAT 批处理脚本教程

    第一节 常用批处理内部命令简介 批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD。这些命令统称批处理命令。 小知识:可以在键盘上按下Ctrl+C组合键来强行终止一个批处理的执行过程。 了解了大概意思后

    2024年02月02日
    浏览(51)
  • 【bat】批处理脚本大全

    目录 1.概述 2.变量 3.运算符 3.2.重定向运算符 3.3.多命名运算符 3.4.管道运算符 4.命令 4.1.基本命令 4.2.参数传递 4.3.查看脚本内容 4.4.注释 4.5.日期和时间 4.6.启动脚本 4.7.调用其他bat 4.8.任务管理 4.8.1.任务列表查看 4.8.2.任务终止 4.9.文件夹 4.10.关机 4.11.环境变量 4.12.目录 4.12.1

    2024年02月04日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包