中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 如何取得每行倒数字符 上一主题 | 下一主题
wjcing
初级用户





积分 71
发帖 59
注册 2007-12-27
状态 离线
『楼 主』:  如何取得每行倒数字符

我在一个22.txt文件中有如下内容:
88 59 60 89 88 99 100 88 59 ... 87 56 84 67 78 90 88 80 99 81 80 83 85
99 59 60 89 88 99 100 88 59 ...  87 56 84 67 78 90 88 80 99 81 80 83 65
33 59 60 89 88 99 100 ...  88 59 87 56 84 67 78 90 88 80 99 81 80 83 75

我用以下命令想把每行的倒数第二个字符给取出来:如第一行的8,第二行的6,第三行的7,
@echo off& Setlocal Enabledelayedexpansion
for /f "usebackq tokens=1 delims=" %%a in ("C:\Documents and Settings\22.txt") do (
echo %%a 
set str=%%a
echo %str:~-2,1%
)
echo.&pause

运行以上命令后变量%%a是有值的,也就是一行的值,但是在str中没有值,我想问题应该就在这里,但是我不知道应该怎么写才能取出我想要的结果。

麻烦各位高手帮帮忙,谢谢了。

[ Last edited by wjcing on 2008-11-24 at 21:19 ]

2008-11-24 21:17
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
terse
银牌会员





积分 2404
发帖 946
注册 2005-9-8
状态 离线
『第 2 楼』:  

echo !str:~-2,1!

   此帖被 +2 点积分    点击查看详情   
评分人:【 wjcing 分数: +2  时间:2008-11-27 09:16




简单!简单!再简单!
2008-11-24 21:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『第 3 楼』:  

看一下这个帖子:

什么情况下该使用变量延迟?
http://www.cn-dos.net/forum/viewthread.php?tid=20733

   此帖被 +2 点积分    点击查看详情   
评分人:【 wjcing 分数: +2  时间:2008-11-27 09:12


2008-11-24 21:35
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wjcing
初级用户





积分 71
发帖 59
注册 2007-12-27
状态 离线
『第 4 楼』:  

变量延迟我用了啊。。还是不行。。哎。。看不出错在那。。
setlocal EnableDelayedExpansion

2008-11-24 22:29
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 5 楼』:  Re 4楼

2楼不是告诉你了么?



2008-11-24 22:48
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wjcing
初级用户





积分 71
发帖 59
注册 2007-12-27
状态 离线
『第 6 楼』:  

呵呵。。。二楼的可以了。。我刚才还以为!是%呢。。。为什么!号就行%就不行了呢。。。。郁闷找不到!的帮忙。。

2008-11-24 22:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 7 楼』:  

CMD/DOS下符号的作用参考
http://www.cn-dos.net/forum/viewthread.php?tid=30985

变量延迟详解
http://www.cn-dos.net/forum/viewthread.php?tid=28273

什么情况下该使用变量延迟
http://www.cn-dos.net/forum/viewthread.php?tid=20733

一个变量嵌套变量的问题
http://www.cn-dos.net/forum/viewthread.php?tid=41143

   此帖被 +2 点积分    点击查看详情   
评分人:【 wjcing 分数: +2  时间:2008-11-27 09:16




2008-11-24 22:58
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wjcing
初级用户





积分 71
发帖 59
注册 2007-12-27
状态 离线
『第 8 楼』:  

好的。谢谢。。。看看先。。

2008-11-24 23:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
wjcing
初级用户





积分 71
发帖 59
注册 2007-12-27
状态 离线
『第 9 楼』:  

我现在对感吧号(!)的理解是这样的。。它和%一样是转义字符(或者说是引用,扩展),只不过他是在启用了Setlocal Enabledelayedexpansion之后在在要延迟的变量中使用的转义字符,不知道的我理解有没有错。。

睡了。。明天再看了。。谢谢各位的帮忙。。。谢谢。

[ Last edited by wjcing on 2008-11-25 at 00:07 ]

2008-11-25 00:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: