`
eidolon
  • 浏览: 40645 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

在BAT文件中实现对空格分割的字符串的处理

阅读更多
需要在BAT脚本里实现一个字符串的处理,类似JAVA里的StringTokenizer的功能。但好像没发现类似比较现成的功能(也许是自己不知道),因此通过下面这种方式来处理:
@echo off

REM 待处理的字符串
set str="AAA BBB CCC"

:STR_VISTOR

REM 看看每次循环后的值,便于理解
echo str = %str%

REM FOR语句是按行进行遍历,也就是一行一次循环,对于我们来说,只有一行字符串,
REM 这个FOR循环肯定只进入一次。而我们是要对字符串进行空格分割后再处理。因此这
REM 里用GOTO语句来实现循环。而FOR语句只需看成是一条语句,这条语句实现了这样的
REM 功能:将字符串分割成两一部分,一部分是第一个空格前的字串,另一部分是剩余的
REM 字串(tokens=1,*)。第一部分保存在 a 变量中,第二部分保存在 b 变量中,这
REM 个 b 是自动的。
for /f "tokens=1,*" %%a in (%str%) do (
    REM 这里可以替换成自己的处理程序,现在只是简单地显示值
    echo   a = %%a

    REM 将剩余字符串赋值给str变量
    set str="%%b"

    goto STR_VISTOR
)


运行后的结果是:
str = "AAA BBB CCC"
  a = AAA
str = "BBB CCC"
  a = BBB
str = "CCC"
  a = CCC
str = ""


0
0
分享到:
评论

相关推荐

    for循环坑.bat

    代码选择器: [1]For循环中变量 %var%和!var!的使用区别 [2]For中嵌套goto和行标签跳转发生意外 ...[4]FOR /F 枚举字符串中以空格分割的元素 [5]FOR /F 枚举当前目录下的文件 [6] [Q/q/0] 退出 Quit。

    strutils-master-master.zip

    3. **删除子串**:这可能是一个函数,允许用户从原始字符串中移除所有出现的特定子串。这样的功能在处理文本数据时非常实用,例如删除无用的空格、换行或其他特定字符序列。 4. **大小写转换**:标准库中没有提供...

    WinRAR_4.0.exe

    在压缩文件中查找字符串。 支持下列可选参数: i - 不区分大小写(默认); c - 区分大小写搜索; h - 十六进制搜索; t - 使用 ANSI, Unicode 和 OEM 字符表 (只有 Win32 可用); 如果没有指定任何参数,它...

    EXCEL集成工具箱V6.0

    【取产品型号】 功能较在字符串中取数字强大多倍。能批量取某列存储格按指定长度的数字并允许特定数字串的获取,例如M76000,RC76000等。而小于指定长度的数字串则不予获取。 【快速选定数据】 可瞬间选中与用户指定...

    绑定MAC地址与IP地址

    随后,借助Excel的强大数据处理能力,将文本文件中的MAC地址转换为符合ARP命令格式的数据,最后通过批处理文件在服务器端执行,实现自动化绑定。 3. **具体操作步骤** - **将Mac.txt导入Excel工作簿**:创建一个...

    EXCEL集成工具箱V8.0完整增强版(精简)

    【取产品型号】 功能较在字符串中取数字强大多倍。能批量取某列存储格按指定长度的数字并允许特定数字串的获取,例如M76000,RC76000等。而小于指定长度的数字串则不予获取。 【快速选定数据】 可瞬间选中与用户指定...

    快速批量绑定MAC与IP地址

    2. 数据处理:在Excel中,为每个MAC地址添加ARP命令的前缀“ARP -S”,并利用Excel的字符串函数将12位MAC地址分割为6组,每组2位。例如,通过LEFT、MID、RIGHT等函数分别提取MAC地址的不同部分,然后使用"&"运算符...

    powerbuilder

    在该字符串中,使用非打印字符的ASCII码值表示非打印字符zerochar:integer类型,可选项,指定在string参数中用于表示数值0的ASCII码值。有效取值在1到255之间返回值Integer。函数执行成功时返回1,发生错误时返回-1...

    00非常批处理学习教程00

    批处理文件是一种将多个命令序列化并封装成一个可执行文本文件的方法,这种文件通常在Windows系统中使用,文件扩展名为.BAT或.CMD。通过这种方式,用户可以一次性执行一系列预定义的操作,极大地提高了操作效率。 #...

    Dos批处理高级技巧

    - **""**:字符串界定符,用于包含空格或特殊字符的字符串。 - **,**:逗号,用于分割参数。 - **;**:分号,用于分割命令。 - **()**:括号,用于组合表达式或命令。 - **!**:感叹号,用于变量延迟扩展。 --- ...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -Window的Target属性由字符串类型变为枚举类型,注意更新以前的代码:Target="_self" -> Target="Self", Target="_parent" -> Target="Parent"。 -MenuButton, LinkButton, Button, LinkButtonField的...

    ExtAspNet_v2.3.2_dll

    -Grid的BoundField增加NullDisplayText属性,用于处理数据库中的null值,如果没有设置则默认为空字符串。 -修正DatePicker中的一个bug(31/01/2010将会返回NULL)使用DateFormatString来生成SelectedDate属性...

Global site tag (gtag.js) - Google Analytics