中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-07-01 20:18
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » 这种算法可否得到文件名,已解决! 查看 723 回复 4
楼 主 这种算法可否得到文件名,已解决! 发表于 2007-11-22 13:00 ·  中国 广东 中山 电信
高级用户
★★★
积分 940
发帖 374
注册 2007-10-17 21:51
18年会员
UID 100011
性别 男
来自 湖南张家界
状态 离线
求教学长,用如下算法是否可以在纯dos下截取如假如 %wbat% 变量为d:\dos\tools\vide-cdd.sys
后得到 完整文件名:vide-cdd.sys 和文件名:vide-cdd
分别保存到变量spath和sname中?
其中main为主程序,不用管。

:brofile
set sname=
set num=0
set spath=
set sfile=%wbat%
stings slen=length %sfile%

:checkstr
strings snum=sub %slen%,%num%
strings num=add %num%,1
if %snum%*==0* goto errstr
strings str=mid %sfile% %snum%,1
if %str%*==\* goto checkok
set spath=%str%%spath%
goto checkstr

:checkok
strings sname=filename %spath%
goto main

:errstr
wbat box (+white on +red) "错误:文件路径名非法,请核对后输入!",确定
if errorlevel 100 goto main
goto main

[ Last edited by xiaoyunwang on 2007-11-23 at 08:29 AM ]
2 发表于 2007-11-22 19:40 ·  中国 广东 中山 电信
高级用户
★★★
积分 940
发帖 374
注册 2007-10-17 21:51
18年会员
UID 100011
性别 男
来自 湖南张家界
状态 离线
我再顶
3 发表于 2007-11-22 22:03 ·  中国 广东 中山 电信
高级用户
★★★
积分 940
发帖 374
注册 2007-10-17 21:51
18年会员
UID 100011
性别 男
来自 湖南张家界
状态 离线
帮我分析一下,strings是否有语法错误,上面的目标能否达到啊?
4 发表于 2007-11-23 07:56 ·  中国 河北 保定 联通
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
23年会员
UID 1565
性别 男
来自 河北保定
状态 离线
自己测试一下不就知道了,何必求助于别人呢?
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
5 发表于 2007-11-23 08:28 ·  中国 广东 中山 电信
高级用户
★★★
积分 940
发帖 374
注册 2007-10-17 21:51
18年会员
UID 100011
性别 男
来自 湖南张家界
状态 离线
我测试了一下,不行!
原来是strings str=mid %sfile% %snum%,1
少了,号,改为strings str=mid %sfile%,%snum%,1
后测试成功!
论坛跳转: