中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]怎样才能正确显示“纯点”的短名?
作者:
标题: [求助]怎样才能正确显示“纯点”的短名? 上一主题 | 下一主题
radem
高级用户

CMD感染者


积分 691
发帖 383
注册 2008-5-23
状态 离线
『楼 主』:  [求助]怎样才能正确显示“纯点”的短名?

dir /x
显示如附件1:

建sn.bat,代码如下:
@echo off
set "str=%~1"
call set n=%%str:%~dp1=%%
for /f "tokens=4 delims= " %%a in ('dir /x %1*^|findstr /c:"%n%"') do set sn=%%a
echo %sn%&pause
分别把文件...和.......或文件夹....拖到sn.bat,全都显示8669~1,为什么?
怎样才能分别显示出7154~1,5454~1和8669~1?

[ Last edited by radem on 2009-4-30 at 09:06 ]

附件 1: dir.png (2009-4-30 09:04, 2.37 K, 下载附件所需积分 1 点 ,下载次数: 1)




2009-4-30 09:04
查看资料  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『第 2 楼』:  

findstr /ec:" %n%"

2009-4-30 10:03
查看资料  发短消息 网志   编辑帖子  回复  引用回复
radem
高级用户

CMD感染者


积分 691
发帖 383
注册 2008-5-23
状态 离线
『第 3 楼』:  



  Quote:
Originally posted by tireless at 2009-4-30 10:03 AM:
findstr /ec:" %n%"

谢谢,但还是不行啊



2009-4-30 10:16
查看资料  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『第 4 楼』:  



  Quote:
@echo off
set "str=%~1"
call set n=%%str:%~dp1=%%
for /f "tokens=4 delims= " %%a in ('dir /x %1*^|findstr /ec:" %n%"') do set sn=%%a
echo %sn%&pause

我这里测试可以:

  Quote:
C:\Test>test.bat g:\我的文档\桌面\a\...
7154~1
请按任意键继续. . .

C:\Test>test.bat g:\我的文档\桌面\a\....
5454~1
请按任意键继续. . .

C:\Test>test.bat g:\我的文档\桌面\a\.............
573A~1
请按任意键继续. . .

[ Last edited by tireless on 2009-4-30 at 11:37 ]

   此帖被 +5 点积分       点击查看详情   
评分人:【 radem 分数: +5  时间:2009-4-30 12:41


2009-4-30 11:35
查看资料  发短消息 网志   编辑帖子  回复  引用回复
radem
高级用户

CMD感染者


积分 691
发帖 383
注册 2008-5-23
状态 离线
『第 5 楼』:  

原来我没有看清%n%前面有空格,现在可以了非常感谢!



2009-4-30 12:41
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: