标题: [文本处理] 批处理如何将一行文本按要求分割并赋予不同变量? [打印本页]
作者: binghejin 时间: 2021-8-9 15:22 标题: 批处理如何将一行文本按要求分割并赋予不同变量?
现有文本文件1.txt,内容为:20160813*某市委组织部*某公司党课视频制作.txt*客户单位=某市委组织部*客户项目=视频制作*具体项目=某公司党课*项目单价=250*项目数量=1*金额合计=250*项目联系人=李某某*联系电话=88888888888*开具=未开*开票日期=未知*号码=未知*结账方式=未知*支票号码=未知*银行流水=未知*创建日期=20160813*结账日期=未知
其中由*号分割成19个字符段,但后期可能会增加或者减少。
目的:将各字符段分别赋予不同变量,方便后续操作。
我目前自编了一个代码- @echo off
- cls
- set mulu=C:\Users\pc\Desktop
- for /f "tokens=1-19 delims=*" %%a in (%mulu%\1.txt) do (
- echo %%a
- echo %%b
- echo %%c
- echo %%d
- echo %%e
- echo %%f
- echo %%g
- echo %%h
- echo %%i
- echo %%j
- echo %%k
- echo %%l
- echo %%m
- echo %%n
- echo %%o
- echo %%p
- echo %%q
- echo %%r
- echo %%s
- )
- pause
复制代码
希望各位大佬不吝赐教,希望能实现:1.变量根据字符段的多少自动设置。2.将各字符段分别赋予变量,方便后续操作。
作者: idwma 时间: 2021-8-9 16:44
简单的办法,把26段全部定义了,空的变量不会显示- @echo off
- cls
- set mulu=C:\Users\pc\Desktop
- for /f "tokens=1-26 delims=*" %%a in (%mulu%\1.txt) do (
- set a=%%a
- set b=%%b
- set c=%%c
- set d=%%d
- set e=%%e
- set f=%%f
- set g=%%g
- set h=%%h
- set i=%%i
- set j=%%j
- set k=%%k
- set l=%%l
- set m=%%m
- set n=%%n
- set o=%%o
- set p=%%p
- set q=%%q
- set r=%%r
- set s=%%s
- set t=%%t
- set u=%%u
- set v=%%v
- set w=%%w
- set x=%%x
- set y=%%y
- set z=%%z
- )
- echo %a%%b%%c%%d%%e%%f%%g%%h%%i%%j%%k%%l%%m%%n%%o%%p%%q%%r%%s%%t%%u%%v%%w%%x%%y%%z%
- pause
复制代码
作者: binghejin 时间: 2021-8-9 17:42
回复 2# idwma
如果文件内只有1行,这样可行。但我文件内不止1行,这样的话只能显示第1行的内容。
作者: idwma 时间: 2021-8-9 17:49
回复 3# binghejin - @echo off
- setlocal enabledelayedexpansion
- cls
- set mulu=C:\Users\pc\Desktop
- for /f "tokens=1-26 delims=*" %%a in (%mulu%\1.txt) do (
- set a=%%a
- set b=%%b
- set c=%%c
- set d=%%d
- set e=%%e
- set f=%%f
- set g=%%g
- set h=%%h
- set i=%%i
- set j=%%j
- set k=%%k
- set l=%%l
- set m=%%m
- set n=%%n
- set o=%%o
- set p=%%p
- set q=%%q
- set r=%%r
- set s=%%s
- set t=%%t
- set u=%%u
- set v=%%v
- set w=%%w
- set x=%%x
- set y=%%y
- set z=%%z
- echo !a!!b!!c!!d!!e!!f!!g!!h!!i!!j!!k!!l!!m!!n!!o!!p!!q!!r!!s!!t!!u!!v!!w!!x!!y!!z!
- )
- pause
复制代码
作者: newswan 时间: 2021-8-9 18:18
去看看 awk
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |