[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 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') 的结果

有人会吗
求赐教

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=3" %%a in (a.txt) do set str=!str!,'%%a'
  3. if defined str echo (!str:~1!)>b.txt
复制代码

TOP

大神果然犀利

TOP

回复 3# CrLf


    &setlocal enabledelayedexpansion
这个是什么意思

TOP

回复 5# qzq181490950


    变量延迟,namejm大神的for教学帖子里面有

TOP

回复 6# hu_contact


    加下QQ探讨下吧 181490950

TOP

回复 3# CrLf


    加下QQ多多赐教下 181490950

TOP

回复 3# CrLf


    !str:~1! 是什么意思

TOP

回复 9# qzq181490950


    引用 set /? 中的解释:
    %PATH:~10,5%

会扩展 PATH 环境变量,然后只使用在扩展结果中从第 11 个(偏
移量 10)字符开始的五个字符。如果没有指定长度,则采用默认
值,即变量数值的余数。如果两个数字(偏移量和长度)都是负数,
使用的数字则是环境变量数值长度加上指定的偏移量或长度。

    %PATH:~-10%

会提取 PATH 变量的最后十个字符。

    %PATH:~0,-2%

会提取 PATH 变量的所有字符,除了最后两个。

在开启变量延迟后,! 的作用约等于 %,二者具体有什么区别请看[教程汇总]批处理中的变量延迟扩展、变量嵌套

TOP

返回列表