标题: [文本处理] BAT批处理怎样取第三列的值合并到一行? [打印本页]
作者: qzq181490950 时间: 2014-5-6 11:08 标题: BAT批处理怎样取第三列的值合并到一行?
42323 kdsf 42fgg34 423dfdfg423 dfddsf
4d2323 kfdsf 42gdf 423dfdfg423 dfddf
423df23 kfdnsf 4dffgg 423dfdfg423 dfdf
4232d3 kvdsf 4dfggdf4 423dfdfg423 dfdaf
42323 kbdsf 4gfdfdg4 423dfdfg423 dfdsf
.......
数据如上面,怎么通过批处理,取出第三列的值,形成 ('42fgg34','42gdf','4dffgg','4dfggdf4','4gfdfdg4') 的结果
作者: qzq181490950 时间: 2014-5-6 14:05
有人会吗
求赐教
作者: CrLf 时间: 2014-5-6 15:38
- @echo off&setlocal enabledelayedexpansion
- for /f "tokens=3" %%a in (a.txt) do set str=!str!,'%%a'
- if defined str echo (!str:~1!)>b.txt
复制代码
作者: qzq181490950 时间: 2014-5-6 15:48
大神果然犀利
作者: qzq181490950 时间: 2014-5-6 15:53
回复 3# CrLf
&setlocal enabledelayedexpansion
这个是什么意思
作者: hu_contact 时间: 2014-5-6 15:58
回复 5# qzq181490950
变量延迟,namejm大神的for教学帖子里面有
作者: qzq181490950 时间: 2014-5-6 16:02
回复 6# hu_contact
加下QQ探讨下吧 181490950
作者: qzq181490950 时间: 2014-5-6 16:03
回复 3# CrLf
加下QQ多多赐教下 181490950
作者: qzq181490950 时间: 2014-5-6 16:04
回复 3# CrLf
!str:~1! 是什么意思
作者: CrLf 时间: 2014-5-6 16:41
回复 9# qzq181490950
引用 set /? 中的解释:
%PATH:~10,5%
会扩展 PATH 环境变量,然后只使用在扩展结果中从第 11 个(偏
移量 10)字符开始的五个字符。如果没有指定长度,则采用默认
值,即变量数值的余数。如果两个数字(偏移量和长度)都是负数,
使用的数字则是环境变量数值长度加上指定的偏移量或长度。
%PATH:~-10%
会提取 PATH 变量的最后十个字符。
%PATH:~0,-2%
会提取 PATH 变量的所有字符,除了最后两个。
在开启变量延迟后,! 的作用约等于 %,二者具体有什么区别请看[教程汇总]批处理中的变量延迟扩展、变量嵌套
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |