www.fltk.net > 批处理,如何在For 中的 DElims 中设置空格和其他字符做分隔符

批处理,如何在For 中的 DElims 中设置空格和其他字符做分隔符

你好!"delims=;, " 以分号,逗号,空格做分隔符.连着写就行了.仅代表个人观点,不喜勿喷,谢谢.

"delims=;, " 以分号,逗号,空格做分隔符.连着写就行了.

@echo off setlocal enabledelayedexpansion for /f "delims=" %%i in ('dir /b *.txt') do ( for /f "delims=" %%a in ('type "%%i"') do ( set "str=%%a " set "str=!str: = !" set "s=" for /l %%b in (0 1 200) do ( if "!str:~%%b,1!" == " " ( echo,!s!& set "s=") else ( set "s=!s!!str:~%%b,1!"))))>"new_%%i") pause互助互利,请及时点击【采纳回答】

使用delims的目的主要是通过切分字符串获得可编辑的字符串以便于进行下一步编辑.Delims好比一把西瓜刀,文本信息就好比西瓜,使用delims这把西瓜刀将文本这个西瓜切分成许多小块,这样吃起来就方便了.…… -代码:@echo offfor /f "

在cmd窗口下for/? 就可以看到for的帮助信息了.delims是分割标示属性,=后面的字符作为分割set集中的标记,=后面可跟多个字符,默认为空格或tab制表位等空白内容.delims==,?则表示以=,?这三个符号为分隔符 ----------------------------------------将text文本中每一行=前的所有内容赋值给变量n,若这行中没有=,则把这行所有内容赋值给n,n为从1开始的阿拉伯数字然后用!%a%!来取出变量中内容.

应该把完整需求说出来的,不然就此写的你未必会进一步改 要写到批处理中:@echo off set str=6s7ew89 李四 56ee789 set/a n=0 for %%i in (%str%)do echo;%%i>tem for /f "tokens=1* delims=:" %%i in ('findstr/n [0-9] tem')do set s%%i=%%j&

在delims=后连续写上你的分隔符,空格必须放最后;分隔符有双引号的话,表达式"delims=tokens="就得去掉前后的双引号,写成delims=tokens=,而该表达式中的所有符号都要转义,举例如下:for /f tokens^=1^,2^ delims^=^" %%a in (a.txt) do echo %%a %%b

用下面这句试试 for /f "delims=[" %%i in (C:\123.txt) do echo %%i

你可以先给每一个|添加一个符号,让一行内容完全符合多列数据.然后正常获取数据后,剔除那个后添加的符号,如果剔除后的值为空了,就代表那列没数据.

给你举一个实际例子吧:比如myfile.txt的内容如下:;dfds dsf dsf dsf ds11 22 33 441111111 2222 3333 4444 5555这个文件中如果按照空格分割,则第二行就是四个部分(第一部分11,第二部分22),token=2,3,4分别指的是第2、3、4部分(

相关搜索:

网站地图

All rights reserved Powered by www.fltk.net

copyright ©right 2010-2021。
www.fltk.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com