标题: 这种算法可否得到文件名,已解决!
[打印本页]
作者: xiaoyunwang
时间: 2007-11-22 13:00
标题: 这种算法可否得到文件名,已解决!
求教学长,用如下算法是否可以在纯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 ]
作者: xiaoyunwang
时间: 2007-11-22 19:40
我再顶
作者: xiaoyunwang
时间: 2007-11-22 22:03
帮我分析一下,strings是否有语法错误,上面的目标能否达到啊?
作者: Climbing
时间: 2007-11-23 07:56
自己测试一下不就知道了,何必求助于别人呢?
作者: xiaoyunwang
时间: 2007-11-23 08:28
我测试了一下,不行!
原来是strings str=mid %sfile% %snum%,1
少了,号,改为strings str=mid %sfile%,%snum%,1
后测试成功!