找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 22947|回复: 2

[文本处理] 求助批处理截取字符串代码查错

[复制链接]
发表于 2016-7-23 09:21:11 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-7-23 15:30 编辑

下面是我写的字符串截取,功能是从文件中读取一行,如果遇到空格,则截取第一块字符,并截取第一块字符的首字母。
接着,截取第二行,第二行首字母,以此类推。

疑问如下:
第二处红色为什么要加“” 程序才能运行进去,如果不加“”为什么识别不了字符串呢?如果想识别这样的,该怎么判断呢?
我的tmpstr 是从文本中读取abc def ccc (从文本中读取数值,不加"")

第三处红色,截取字符串的首字母,但是HSTR显示的却是0,1,是数据出了问题?还是代码写的不对呢?该怎么改呢?


SETLOCAL ENABLEDELAYEDEXPANSION
set tmpstr=abc def ccc
:STR_VISTOR

for /f "tokens=1,*" %%a in ("!tmpstr!") do (
    echo a=%%a
    SET HSTR=!a:~0,1!
    @echo !HSTR!
    set tmpstr=%%b
    goto STR_VISTOR
)
)

endlocal

===========================================
问题已经解决,犯了很低级的错误,谢谢大家
===========================================
发表于 2016-7-23 09:29:52 | 显示全部楼层

echo a=%%a
改成
set a=%%a
 楼主| 发表于 2016-7-23 09:33:58 | 显示全部楼层
回复 2# gawk


    谢谢,我没看出来这错误竟然。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 16:54 , Processed in 0.013653 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表