中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » for命令在CMD下运行正常,但是在纯DOS下提示语法错误?
作者:
标题: for命令在CMD下运行正常,但是在纯DOS下提示语法错误? 上一主题 | 下一主题
tomystory
新手上路





积分 6
发帖 2
注册 2006-11-27
状态 离线
『楼 主』:  for命令在CMD下运行正常,但是在纯DOS下提示语法错误?

一个TXT或者是LOG文档,里面的内容是16位的一串数字和字符,我只想要后8位,比如里面是00902800987867AB,我只想要987867AB
所以我用FOR命令:
set var=002000005854472A
set var=%var:00200000=_%
for /f "delims=_" %%i in ("%var%") do echo %%i

在windows的命令提示符下运行可以成功, 但是我进DOS后运行居然提示SYNTAX ERROR(语法错误)!!!

我的DOS是纯98DOS, 后来我又用矮人DOS工具进去,那个DOS是7.1版的,无论加载EMM或者是HIMEM都一样提示语法错误,我就晕了,为什么命令提示符下可以运行成功,但在纯DOS下不行呢?

另外有人说可以用filecut实现我的要求,但是我不知道怎么配置filecut.ini,如果有知道的大哥麻烦告诉一下用filecut怎么实现这个也行
多谢拉!!!!!!

2008-4-16 10:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
clonecd
初级用户





积分 94
发帖 46
注册 2006-5-14
状态 离线
『第 2 楼』:  

纯DOS里的for没有 /f 这个参数,"delims=_" 的用法就更别提了。
你的第二行命令在纯DOS里也是错误的,楼主好好弄清楚纯DOS和CMD的区别。

[ Last edited by clonecd on 2008-4-16 at 10:27 AM ]

2008-4-16 10:25
查看资料  发短消息 网志   编辑帖子  回复  引用回复
tomystory
新手上路





积分 6
发帖 2
注册 2006-11-27
状态 离线
『第 3 楼』:  

Re: clonecd
这样啊。。。 多谢了

可是这样说的话,用for命令在DOS下就没法做了,那请问有没有别的办法实现我要的功能呢?  比如怎么用filecut 或者是别的什么办法?

2008-4-16 10:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
clonecd
初级用户





积分 94
发帖 46
注册 2006-5-14
状态 离线
『第 4 楼』:  

楼主好好看看纯DOS下的lmod、strings的用法,更高级的应用可以看看纯DOS下的sed和awk的用法,请分别用相应的关键词搜索本楼论坛即可,应该能达到你的要求,自己慢慢学吧。

2008-4-16 14:31
查看资料  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: