Board logo

标题: 这种算法可否得到文件名,已解决! [打印本页]

作者: 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
后测试成功!




欢迎光临 中国DOS联盟论坛 (http://cndos.fam.cx/forum/) Powered by Discuz! 2.5