中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-11 18:05
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]怎样才能正确显示“纯点”的短名? 查看 562 回复 4
楼 主 [求助]怎样才能正确显示“纯点”的短名? 发表于 2009-04-30 09:04 ·  中国 广东 韶关 电信
高级用户
★★★
CMD感染者
积分 691
发帖 383
注册 2008-05-23 00:38
18年会员
UID 119451
性别 男
状态 离线
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 ]
附件
dir.png
2 发表于 2009-04-30 10:03 ·  中国 江西 赣州 安远县 电信
银牌会员
★★★★
积分 2,025
发帖 1,122
注册 2007-09-05 20:15
18年会员
UID 96653
性别 男
状态 离线
findstr /ec:" %n%"
3 发表于 2009-04-30 10:16 ·  中国 广东 韶关 电信
高级用户
★★★
CMD感染者
积分 691
发帖 383
注册 2008-05-23 00:38
18年会员
UID 119451
性别 男
状态 离线
Originally posted by tireless at 2009-4-30 10:03 AM:
findstr /ec:" %n%"


谢谢,但还是不行啊
4 发表于 2009-04-30 11:35 ·  中国 江西 赣州 安远县 电信
银牌会员
★★★★
积分 2,025
发帖 1,122
注册 2007-09-05 20:15
18年会员
UID 96653
性别 男
状态 离线
@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


我这里测试可以:

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 ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
radem +5 2009-04-30 12:41
5 发表于 2009-04-30 12:41 ·  中国 广东 韶关 电信
高级用户
★★★
CMD感染者
积分 691
发帖 383
注册 2008-05-23 00:38
18年会员
UID 119451
性别 男
状态 离线
原来我没有看清%n%前面有空格,现在可以了非常感谢!
论坛跳转: