中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [挑战1] 目录最后一个名称的提取[ 难度:☆]
« [1] [2] [3] »
作者:
标题: [挑战1] 目录最后一个名称的提取[ 难度:☆] 上一主题 | 下一主题
flyinspace
银牌会员





积分 1206
发帖 517
注册 2007-3-25
状态 离线
『第 16 楼』:  



  Quote:
Originally posted by notepad at 2007-4-30 01:01 PM:
用不了啊 `````

什么意思???



知,不觉多。不知,乃求知
2007-5-1 02:15
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lililulula
中级用户





积分 302
发帖 138
注册 2007-3-29
状态 离线
『第 17 楼』:  



  Quote:
@echo off
for /f "tokens=* delims=" %%i in ('cd') do (
set "fdname"="%%i"
call :GetFdName %fdname%
)
:GetFdName
for /f "tokens=1,* delims=\" %%j in ("%~1") do (
if "%%k"=="" echo %%j&&pause&&goto :eof
call :GetFdName %%k
)

我改了下,我让它显示当前所在目录文件夹名为何fdname无法传递到getfdname里?如果我直接让它传递%%i的话碰到有空格的文件会不完全显示,所以我要设置fdname传递给getfdname

2007-5-1 04:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lililulula
中级用户





积分 302
发帖 138
注册 2007-3-29
状态 离线
『第 18 楼』:  

要5.1了 预祝大家节日快乐 顺便来的人帮我看看问题啊 谢谢了

2007-5-1 05:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zhoushijay
高级用户

Autowalk


积分 845
发帖 375
注册 2007-3-3
状态 离线
『第 19 楼』:  

@echo off
    for /f "delims=" %%i in ("c:\aa\bb\cc") do (
        echo %%~nxi
    )
pause

2007-5-1 05:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
flyinspace
银牌会员





积分 1206
发帖 517
注册 2007-3-25
状态 离线
『第 20 楼』:  



  Quote:
Originally posted by zhoushijay at 2007-4-30 04:57 PM:
@echo off
    for /f "delims=" %%i in ("c:\aa\bb\cc") do (
        echo %%~nxi
    )
pause

这个怪我先前没有考虑周到。在发贴的时候忘记写下来了。。。

使用了 for 的特殊参数。。

我们的要求是不使用 这些特殊参数。



知,不觉多。不知,乃求知
2007-5-1 06:10
查看资料  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 21 楼』:  

居然没有用VBS的?

2007-5-1 13:24
查看资料  发短消息 网志   编辑帖子  回复  引用回复
baomaboy
银牌会员





积分 1513
发帖 554
注册 2005-12-30
状态 离线
『第 22 楼』:  


Set WshSHell = WScript.CreateObject("WScript.Shell")
FP="c:\aaa\bbb\ccc"
FPArr=split(FP,"\")
For i=1 To UBound(FPArr)
FPTest = FPArr(i)
Next
WshSHell.popup "最终目录:"&vbcrlf&FPTest
Set WshSHell = Nothing
WScript.Quit(0)




好多菩提树,好多明镜台。本来好多物,好多的尘埃。
2007-5-1 16:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 23 楼』:  

Set WshSHell = WScript.CreateObject("WScript.Shell")
FP="c:\aaa\bbb\ccc"
FPArr=Split(FP,"\")
For i=1 To UBound(FPArr)
    FPTest = FPArr(i)
Next
WshSHell.popup "最终目录:"&vbcrlf&FPTest
Set WshSHell = Nothing
WScript.Quit(0)


MsgBox FPArr(UBound(FPArr))不可以么?
InstrRev()不行么?


FP = "c:\aaa\bbb\ccc"
FPArr = Split(FP, "\")
MsgBox FPArr(UBound(FPArr))
Pos=InstrRev(FP, "\")+1
MsgBox Mid(FP,Pos,(Len(FP) - InstrRev(FP, "\")))

[ Last edited by slore on 2007-5-1 at 03:56 AM ]

2007-5-1 16:43
查看资料  发短消息 网志   编辑帖子  回复  引用回复
baomaboy
银牌会员





积分 1513
发帖 554
注册 2005-12-30
状态 离线
『第 24 楼』:  

不可以么?
不行么?
FP或者FPArr还要吗?



好多菩提树,好多明镜台。本来好多物,好多的尘埃。
2007-5-1 17:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 25 楼』:  

你的循环的意义何在?

2007-5-1 17:06
查看资料  发短消息 网志   编辑帖子  回复  引用回复
baomaboy
银牌会员





积分 1513
发帖 554
注册 2005-12-30
状态 离线
『第 26 楼』:  

用在此处确实无意义,不过追究的话连FP都没存在的意义了



好多菩提树,好多明镜台。本来好多物,好多的尘埃。
2007-5-1 17:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zerocq
中级用户




积分 458
发帖 196
注册 2006-10-5
状态 离线
『第 27 楼』:  

用vbs的split函数按/分割字符串

然后len函数逐个检测行不

2007-5-1 18:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lililulula
中级用户





积分 302
发帖 138
注册 2007-3-29
状态 离线
『第 28 楼』:  



  Quote:
@echo off
for /f "tokens=* delims=" %%i in ('cd') do (
set "fdname"="%%i"
call :GetFdName %fdname%
)
:GetFdName
for /f "tokens=1,* delims=\" %%j in ("%~1") do (
if "%%k"=="" echo %%j&&pause&&goto :eof
call :GetFdName %%k
)



我改了下,我让它显示当前所在目录文件夹名为何fdname无法传递到getfdname里?如果我直接让它传递%%i的话碰到有空格的文件会不完全显示,所以我要设置fdname传递给getfdname

5,1节前的问题,还是希望知道下原因,或者告诉我怎么解决含空格的文件名显示方法,如下例显示当前目录名时候如目录名含有空格则显示不完全.

  Quote:
@echo off
for /f "tokens=* delims=" %%i in ('cd') do (
call :GetFdName %%i
)
:GetFdName
for /f "tokens=1,* delims=\" %%j in ("%~1") do (
if "%%k"=="" echo %%j&&pause&&goto :eof
call :GetFdName %%k
)

[ Last edited by lililulula on 2007-5-8 at 11:13 AM ]

2007-5-8 09:28
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xtanbmy
初级用户




积分 47
发帖 31
注册 2008-3-17
状态 离线
『第 29 楼』:  为你的 努力 加油!!

为你的 努力 加油!!
说实话,提一些有意义的问题,然后大家讨论解决,确实有助于提高论坛人气,也有助于一些新手快速成长起来!当然我自己也是新手,努力学习中...
为你的 努力 加油!!

2008-4-7 16:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 30 楼』:  

似乎很久之前讨论过这个问题

2008-4-8 05:38
查看资料  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] [3] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: