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

[文本处理] 【已解决】批处理for命令"delims=a"识别不到第一行的‘a’

[复制链接]
发表于 2024-5-29 11:39:47 | 显示全部楼层 |阅读模式
本帖最后由 菊花的忧伤 于 2024-5-29 14:04 编辑

代码如下:
  1. @echo off

  2. for /f "delims=a" %%i in (./test.txt) do echo %%i&&pause
  3. pause
复制代码
文本类容:
aabcdeg bcdefga abcdeg
bcdefga bcdefga abcdeg
abcdef bcdefga abcdeg
ehjkhfjg abcdeg
sdjagsjp abcdeg

结果如下:
bcdeg bcdefg
请按任意键继续. . .
bcdefg
请按任意键继续. . .
bcdef bcdefg
请按任意键继续. . .
ehjkhfjg
请按任意键继续. . .
sdj
请按任意键继续. . .

评分

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

查看全部评分

发表于 2024-5-29 11:44:31 | 显示全部楼层
回复 1# 菊花的忧伤


    以顶楼数据为例,你希望得到的结果是怎样的?
 楼主| 发表于 2024-5-29 12:11:51 | 显示全部楼层
回复 2# Batcher


    不应该第一行,第一个a识别到了,后面的就bei裁掉了吗
为什么第一行前面已经有两个a了,后面还会显示出来
发表于 2024-5-29 12:31:51 | 显示全部楼层
本帖最后由 newswan 于 2024-5-29 12:45 编辑

你理解的常识,awk 是这样的,但是 for 不是这样的

  1. for /f "tokens=1-2 delims=," %a in ( "a,b,c" ) do echo %a
  2. for /f "tokens=1-2 delims=," %a in ( ",a,b,c" ) do echo %a
复制代码
发表于 2024-5-29 12:38:32 | 显示全部楼层
回复 3# 菊花的忧伤


for命令在tokens缺省的情况下是获取第1列
aabcdeg bcdefga abcdeg
 楼主| 发表于 2024-5-29 13:56:39 | 显示全部楼层
回复 5# Batcher


    你的意思是没有tokens的条件下,他会默认取一段有效的数据,如果第一段数据为空,他会依次向后移动吗选取吗
 楼主| 发表于 2024-5-29 14:03:49 | 显示全部楼层
回复 5# Batcher


    我试了一下,我理解错了delims的意思了 ,我以为前面的空算第一段,已经懂了,谢谢大佬
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 01:19 , Processed in 0.020197 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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