Board logo

标题: [求助]怎样才能正确显示“纯点”的短名? [打印本页]

作者: radem     时间: 2009-4-30 09:04    标题: [求助]怎样才能正确显示“纯点”的短名?

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)



作者: tireless     时间: 2009-4-30 10:03
findstr /ec:" %n%"
作者: radem     时间: 2009-4-30 10:16


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

谢谢,但还是不行啊
作者: tireless     时间: 2009-4-30 11:35


  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 ]
作者: radem     时间: 2009-4-30 12:41
原来我没有看清%n%前面有空格,现在可以了非常感谢!