标题: [求助]如何才能获得相同的短名?
[打印本页]
作者: radem
时间: 2008-8-27 14:05
标题: [求助]如何才能获得相同的短名?
D:\批处理\test目录下有一畸形文件“111...”
用dir /x显示为“111~1”
但用echo %~s1显示的是“111111”
请问怎么样echo才能打印出“111~1”呢?
作者: HAT
时间: 2008-8-27 14:09
@echo off
for /f "tokens=5 delims= " %%a in ('dir /x 111*^|findstr "111.."') do echo %%a
作者: radem
时间: 2008-8-27 14:17
这样还是显示“111...”
显示不了短名
作者: radem
时间: 2008-8-27 14:20
哈哈!!
tokens=4就可以了,谢谢!
另外,如果把随意一个文件拖到这个P文件就能显示它的短名又怎么办呢?
[
Last edited by radem on 2008-8-27 at 02:26 PM ]
作者: HAT
时间: 2008-8-27 14:23
可能是我的系统日期/时间格式和你的不一样,我这里需要tokens=5,这个没关系,根据自己实际情况更改就是了。
作者: radem
时间: 2008-8-27 14:29
HAT大哥,如果把随意一个文件拖到这个P文件就能显示它的短名又怎么办呢?
作者: HAT
时间: 2008-8-27 15:36
标题: Re 6楼
@echo off
set file=%1
set file=%file:.=%
for /f "tokens=5 delims= " %%a in ('dir /x "%file%*"^|findstr "%1"') do echo %%a
pause
作者: radem
时间: 2008-8-27 19:59
Quote: |
in ('dir /x 111*^|findstr "111.."') |
|
其中“111*”是怎样定义的?
作者: HAT
时间: 2008-8-27 20:09
7楼的代码有111*?
作者: radem
时间: 2008-8-27 20:12
换句话说
dir /x 后面应该怎样定义的?
作者: HAT
时间: 2008-8-27 20:17
dir /x 后面跟文件夹名或者文件名,定义什么?