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

[文本处理] [分享]超过52列文本提取

前言:群内很多人都需要文本分列,发到论坛更有助于其他坛友来处理一些简单的文本,代码简单如果有助于学习请点赞,无用留个代码垃圾
注:不可超过set设定最大数值不可用于特殊字符处理特殊字符
  1. @echo off&setlocal enabledelayedexpansion
  2. set a=值或for内引用
  3. rem:循环次数
  4. for /l %%n in (1,1,4196)do (
  5. rem:分隔符不受引号影响比for无参数分裂更有优势
  6. for /f "tokens=1,* delims=;" %%i in ("!a!")do (
  7.   rem:设置循环变量
  8.   set "a=%%j"
  9.   rem:最终值
  10.   echo,%%i
  11. )
  12. )
  13. pause
复制代码
1

评分人数

这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

本帖最后由 /zhqsystem/zhq 于 2017-2-27 20:16 编辑

回复 2# taofan712
set受字符数限制8192,8192/2=4096,最大支持列为4096,没有别的含义,
执行是执行了剩余的所有for,但是由于变量被替换了空值,导致for为空无意义被自动过滤,可以序列for可以加入一个判断循环变量存在执行后边的,
if defined a for /f....
这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

TOP

回复 5# GNU
和这个比没有优势,只是少占用了SET序列化和死循环,%%n的值属于固定值而且是固定列,xls数据需要替换分割符"TABTAB=tab tab"两次才能对其进行实际的简单操作,醉了没做过练习题,看来是发重了
这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

TOP

返回列表