标题: [文件操作] 批处理for命令tokens如何获取指定列? [打印本页]
作者: FIR1987 时间: 2011-4-25 00:26 标题: 批处理for命令tokens如何获取指定列?
文本内容如下
F:\分析表.log:星期四 14 十月 2010 16:16:16 4 00000199 Timing, TOTAL TIME (CREATE CUBE),10:17:45
希望变成如下文本
F:\分析表.log:星期四 14 十月 2010 16:16:16 TOTAL TIME (CREATE CUBE),10:17:45- for /f "tokens=1-4,8,*" %%i in ('type c:\bat.txt') do echo %%i %%j %%k %%l >>c:\bat3.txt
复制代码
取不到第8列以后- for /f "tokens=1-2,8,*" %%i in ('type c:\bat.txt') do echo %%i %%j %%k %%l >>c:\bat3.txt
复制代码
可以取到第8列以后
但是我希望要1到4列 以及8列以后 请问到底是什么问题
作者: TX_kakashi 时间: 2011-4-25 00:50
数错了吧?- @echo off&setlocal
- for /f "tokens=1-5,9*" %%i in (11.txt) do echo %%i %%j %%k %%l %%m %%n %%o
- pause
复制代码
作者: hanyeguxing 时间: 2011-4-25 01:03
- for /f "tokens=1-4,8,*" %%i in ('type c:\bat.txt') do echo %%i %%j %%k %%l >>c:\bat3.txt
复制代码
你写的代码中,ijkl分别对应1-4,那么m对应8,n对应*
所以后面加一个 %%n就可以
作者: batman 时间: 2011-4-25 01:04
楼主是要取1-5列和8列后面的内容吧- @echo off
- for /f "tokens=1-5,8*" %%a in (c:\bat.txt) do echo %%a %%b %%c %%d %%e %%g
- pause>nul
复制代码
作者: applba 时间: 2011-4-25 11:48
一直不太清楚tokens里面的*到底有什么具体作用,总算明白了
作者: hanyeguxing 时间: 2011-4-25 12:25
本帖最后由 hanyeguxing 于 2011-4-25 12:50 编辑
tokens=中一共允许32个令牌,即1-31,再加一个*(无论是否使用*,*的令牌都被占用)
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |