中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-08 03:28
48,041 主题排行 / 350,128 发帖 / 今日 3 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » for命令在CMD下运行正常,但是在纯DOS下提示语法错误?
可打印版本  705 / 3
第1楼 tomystory 发表于 2008-04-16 10:08
新手上路 发帖 2 积分 6
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怎么实现这个也行
多谢拉!!!!!!
第2楼 clonecd 发表于 2008-04-16 10:25
初级用户 发帖 46 积分 94
纯DOS里的for没有 /f 这个参数,"delims=_" 的用法就更别提了。
你的第二行命令在纯DOS里也是错误的,楼主好好弄清楚纯DOS和CMD的区别。

[ Last edited by clonecd on 2008-4-16 at 10:27 AM ]
第3楼 tomystory 发表于 2008-04-16 10:30
新手上路 发帖 2 积分 6
Re: clonecd
这样啊。。。 多谢了

可是这样说的话,用for命令在DOS下就没法做了,那请问有没有别的办法实现我要的功能呢? 比如怎么用filecut 或者是别的什么办法?
第4楼 clonecd 发表于 2008-04-16 14:31
初级用户 发帖 46 积分 94
楼主好好看看纯DOS下的lmod、strings的用法,更高级的应用可以看看纯DOS下的sed和awk的用法,请分别用相应的关键词搜索本楼论坛即可,应该能达到你的要求,自己慢慢学吧。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023