无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 3905|回复: 14
打印 上一主题 下一主题

怎么用for/f命令提取文本TXT的前三列?

  [复制链接]
1#
发表于 2022-8-16 10:10:25 | 显示全部楼层
本帖最后由 dos时代菜鸟 于 2022-8-16 10:18 编辑

这是前三行
嘚设置计数器,跳转。
  1. @echo off
  2. setlocal ENABLEDELAYEDEXPANSION
  3. set n=0
  4. for /f "delims=" %%c in (test.txt) do (
  5.     SET /A n=!n!+1
  6.     echo !n!....%%c
  7.     if !n! equ 3 goto :end1
  8. )
  9. :end1
  10. pause
复制代码

这是前三列
不用计数器
  1. @echo off
  2. setlocal ENABLEDELAYEDEXPANSION
  3. for /f "tokens=1-3 delims= " %%c in (test.txt) do (
  4.     echo %%c %%d %%e
  5. )
  6. pause
复制代码





点评

set /a n+=1不是更简单 set /a有一个特性,可以省略变量符号 set /a n=n+1 set /a c=a+b  详情 回复 发表于 2022-8-16 13:59
不错,这个示例非常好。  详情 回复 发表于 2022-8-16 12:07
第一个执行结果不对 1....11 22 33 44 55 66 77 88 99 2....22 33 44 55 99 44 22 11 33 3....11 56 45 26 32 23 16 16 99 请按任意键继续. . .  详情 回复 发表于 2022-8-16 11:06
回复

使用道具 举报

2#
发表于 2022-8-16 15:21:58 | 显示全部楼层
bjay2008xmy 发表于 2022-8-16 11:06
第一个执行结果不对
1....11 22 33 44 55 66 77 88 99
2....22 33 44 55 99 44 22 11 33



前面那个
1...
2...
3...
是 行号

点评

这个运行结果是错误的,怎么把全部内容都搞出来了,只要每行前三列就行了 @echo off setlocal ENABLEDELAYEDEXPANSION set n=0 for /f "delims=" %%c in (test.txt) do ( SET /A n=!n!  详情 回复 发表于 2022-8-16 15:59
回复

使用道具 举报

3#
发表于 2022-8-16 15:22:58 | 显示全部楼层
nttwqz 发表于 2022-8-16 13:59
set /a n+=1不是更简单
set /a有一个特性,可以省略变量符号
set /a n=n+1

回复

使用道具 举报

4#
发表于 2022-8-16 16:27:26 | 显示全部楼层
bjay2008xmy 发表于 2022-8-16 15:59
这个运行结果是错误的,怎么把全部内容都搞出来了,只要每行前三列就行了
@echo off
    setlocal  ...

我那个 是显示 前三行,不是前三列。我在代码前面说了。

点评

看错了,这个代码示例还是非常好的啊  详情 回复 发表于 2022-8-16 17:00
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-17 04:59

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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