bjay2008xmy 发表于 2022-8-15 23:58:11

DOSforever 发表于 2022-8-16 00:52:51

bjay2008xmy 发表于 2022-8-16 01:29:41

dos时代菜鸟 发表于 2022-8-16 10:10:25

本帖最后由 dos时代菜鸟 于 2022-8-16 10:18 编辑

这是前三行
嘚设置计数器,跳转。
@echo off
setlocal ENABLEDELAYEDEXPANSION
set n=0
for /f "delims=" %%c in (test.txt) do (
    SET /A n=!n!+1
    echo !n!....%%c
    if !n! equ 3 goto :end1
)
:end1
pause
这是前三列
不用计数器
@echo off
setlocal ENABLEDELAYEDEXPANSION
for /f "tokens=1-3 delims= " %%c in (test.txt) do (
    echo %%c %%d %%e
)
pause




bjay2008xmy 发表于 2022-8-16 11:06:26

窄口牛 发表于 2022-8-16 12:07:40

dos时代菜鸟 发表于 2022-8-16 10:10
这是前三行
嘚设置计数器,跳转。



不错,这个示例非常好。

nttwqz 发表于 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

dos时代菜鸟 发表于 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_197:}

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

dos时代菜鸟 发表于 2022-8-16 15:22:58

nttwqz 发表于 2022-8-16 13:59
set /a n+=1不是更简单
set /a有一个特性,可以省略变量符号
set /a n=n+1


{:1_195:}

bjay2008xmy 发表于 2022-8-16 15:59:41

dos时代菜鸟 发表于 2022-8-16 16:27:26

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

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

bjay2008xmy 发表于 2022-8-16 17:00:51

nowayer 发表于 2023-11-13 11:42:21

2012飘水 发表于 2024-4-6 23:57:40

学习了,感谢

szwp 发表于 2024-4-7 08:09:35

echo %%i 只会显示一列,打for/?看一下范例
页: [1]
查看完整版本: 怎么用for/f命令提取文本TXT的前三列?