找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 18656|回复: 4

[文本处理] [已解决]批处理for命令中in部分的问题

[复制链接]
发表于 2023-4-27 23:35:10 | 显示全部楼层 |阅读模式
不是很明白for命令的执行过程,所以一直有一个疑问,想请问各位老师,例如:
  1. for /f "eol=# tokens=2 delims== " %%x in ('type "test.ini" ^| find /i "xxx"') do (echo %%x)
复制代码
假设test.ini初始有10行数据,每次循环体内会得出一个%x。那么in部分的命令是每次循环都会执行一次;还是说只会执行一次,然后在循环体内把十行结果分十次依次得出?

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2023-4-27 23:49:48 | 显示全部楼层
  1. @echo off
  2. for /f "eol=# tokens=2 delims== " %%x in ('type "test.ini" ^| find /i "xxx"') do (
  3.         del "test.ini"
  4.         echo %%x
  5. )
  6. pause
复制代码
测试一下就知道了

评分

参与人数 1技术 +1 收起 理由
lonron + 1 感谢

查看全部评分

 楼主| 发表于 2023-4-27 23:56:30 | 显示全部楼层
回复 2# 77七
  1. 1
  2. 找不到 C:\Users\Lonron\Desktop\test.ini
  3. 2
  4. 找不到 C:\Users\Lonron\Desktop\test.ini
  5. 3
  6. 找不到 C:\Users\Lonron\Desktop\test.ini
  7. 4
  8. 找不到 C:\Users\Lonron\Desktop\test.ini
  9. 5
  10. 找不到 C:\Users\Lonron\Desktop\test.ini
  11. 6
  12. 找不到 C:\Users\Lonron\Desktop\test.ini
  13. 7
  14. 找不到 C:\Users\Lonron\Desktop\test.ini
  15. 8
  16. 找不到 C:\Users\Lonron\Desktop\test.ini
  17. 9
  18. 找不到 C:\Users\Lonron\Desktop\test.ini
  19. 0
复制代码
意思是in只执行一次,然后依次得出十行结果?
发表于 2023-4-28 00:17:56 | 显示全部楼层
回复 3# lonron


   太复杂了,我也在学习中,注意下这两种区别
  1. @echo off
  2. cd.>1.txt
  3. cd.>2.txt
  4. for %%a in (*.txt) do (
  5.         echo %%a
  6.         del 2.txt
  7. )
  8. pause
复制代码

  1. @echo off
  2. cd.>1.txt
  3. cd.>2.txt
  4. for /f "delims=" %%a in ('dir /b /a-d *.txt') do (
  5.         echo %%a
  6.         del 2.txt
  7. )
  8. pause
复制代码
 楼主| 发表于 2023-4-28 00:41:47 | 显示全部楼层
本帖最后由 lonron 于 2023-4-28 00:54 编辑

回复 4# 77七


    我只想知道开启 /f 开关时候是否是只读一次,我在您给的代码运行之后得出的结果似乎是表明in内的命令或者文本只会读取一次,就算删了也能继续循环,应该就表示确实是这样的吧?
因为我在实际应用中发现一个问题,就是当使用curl -i的时候,由于某些网站可能设置了延迟机制什么的,如果频繁抓取信息会出现 错误503,所以我不得不加了个timeout以作延迟。
但是如果in内只会在最开始读取一次,那我在里面写curl -i的时候就不用担心会出现因为循环而导致高频率抓取网站信息,使之得到错误503的情况了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 22:06 , Processed in 0.027981 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表