[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]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') 的结果

回复 9# qzq181490950


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

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

    %PATH:~-10%

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

    %PATH:~0,-2%

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

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

TOP

回复 3# CrLf


    !str:~1! 是什么意思

TOP

回复 3# CrLf


    加下QQ多多赐教下 181490950

TOP

回复 6# hu_contact


    加下QQ探讨下吧 181490950

TOP

回复 5# qzq181490950


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

TOP

回复 3# CrLf


    &setlocal enabledelayedexpansion
这个是什么意思

TOP

大神果然犀利

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

返回列表