无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 5306|回复: 14
打印 上一主题 下一主题

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

  [复制链接]
跳转到指定楼层
1#
发表于 2022-8-15 23:58:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
2#
发表于 2022-8-16 00:52:51 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

3#
 楼主| 发表于 2022-8-16 01:29:41 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

4#
发表于 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
回复

使用道具 举报

5#
 楼主| 发表于 2022-8-16 11:06:26 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

6#
发表于 2022-8-16 12:07:40 来自手机 | 只看该作者
dos时代菜鸟 发表于 2022-8-16 10:10
这是前三行
嘚设置计数器,跳转。


不错,这个示例非常好。
回复

使用道具 举报

7#
发表于 2022-8-16 13:59:12 来自手机 | 只看该作者
dos时代菜鸟 发表于 2022-8-16 10:10
这是前三行
嘚设置计数器,跳转。


set /a n+=1不是更简单
set /a有一个特性,可以省略变量符号
set /a n=n+1
set /a c=a+b
回复

使用道具 举报

8#
发表于 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
回复

使用道具 举报

9#
发表于 2022-8-16 15:22:58 | 只看该作者
nttwqz 发表于 2022-8-16 13:59
set /a n+=1不是更简单
set /a有一个特性,可以省略变量符号
set /a n=n+1

回复

使用道具 举报

10#
 楼主| 发表于 2022-8-16 15:59:41 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

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

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

点评

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

使用道具 举报

12#
 楼主| 发表于 2022-8-16 17:00:51 来自手机 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

13#
发表于 2023-11-13 11:42:21 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

14#
发表于 2024-4-6 23:57:40 | 只看该作者
学习了,感谢
回复

使用道具 举报

15#
发表于 2024-4-7 08:09:35 | 只看该作者
echo %%i 只会显示一列,打for/?看一下范例
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-22 20:03

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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