标题: [求助]请问P处能不能得到一个文件名的短文件名
[打印本页]
作者: ttj36
时间: 2008-8-10 18:20
标题: [求助]请问P处能不能得到一个文件名的短文件名
哪个高手知道不,
高手们,我都看不懂了,我打个比方,
我要得到D盘下一个文件的短文件名,要在CMD里显示出它的短文件名字,
谢谢在面几位。顺便问一下
xx..\这种件夹的短名怎么得到,用下面的方法不行哦
[
Last edited by ttj36 on 2008-8-11 at 02:49 PM ]
作者: terse
时间: 2008-8-10 18:30
for %%i in (*) do echo %%~snxi
作者: ttj36
时间: 2008-8-10 18:43
我怎么用不来,请问如何使用,
作者: pusofalse
时间: 2008-8-10 18:54
%~sI - expanded path contains short names only
The modifiers can be combined to get compound results:
%~dpI - expands %I to a drive letter and path only
%~nxI - expands %I to a file name and extension only
%~fsI - expands %I to a full path name with short names only
%~dp$PATH:I - searches the directories listed in the PATH
environment variable for %I and expands to the
drive letter and path of the first one found.
%~ftzaI - expands %I to a DIR like output line
作者: HAT
时间: 2008-8-11 01:49
@echo off
for %%i in ("C:\test\abcdefghijk.txt") do echo %%~snxi
作者: ttj36
时间: 2008-8-11 11:09
谢谢,好象得不到xx..\这种件夹的短名
作者: slore
时间: 2008-8-11 11:41
可以
作者: kioskboy
时间: 2008-8-11 12:35
FOR /F "delims==" %i IN ('dir /b') DO @echo %~si
作者: HAT
时间: 2008-8-14 23:02
标题: Re 6楼
是这个意思吗?
@echo off
for /f "tokens=5 delims= " %%a in ('dir /x ^| findstr xxxxxxxxx.') do echo %%a
作者: ttj36
时间: 2008-8-15 19:46
楼上的这位大哥,好够象不行哦,不行得到SD..的短名
[
Last edited by ttj36 on 2008-8-15 at 07:48 PM ]
作者: HAT
时间: 2008-8-15 20:47
Q: 为什么不行啊?
A: 去电线杆上找个老军医的手机,他是专治+包治这个的。如果治疗周期较长,建议列出你的测试环境、测试用例、出错信息,供大家帮助你解决问题。
作者: ttj36
时间: 2008-8-15 22:26
你试试看,我在D盘,你也可以建个MD d:\SD..\ 文件夹,你得到短名看看,
[
Last edited by ttj36 on 2008-8-15 at 10:28 PM ]
作者: HAT
时间: 2008-8-15 22:36
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.
D:\>md sdsdsdsdsd..\
D:\>for /f "tokens=4 delims= " %a in ('dir /x ^| findstr "sdsdsdsdsd."') do @echo %a
SDSDSD~1
作者: ttj36
时间: 2008-8-15 22:55
for /f "tokens=4 delims= " %a in ('dir /x ^| findstr "d:\sd."') do @echo %a
在BAT里,怎么不行,
而且我得到2个,因为我建了2个这种文件夹一个是,是ASDF. SD.运行长的那个得到一个ASDF~1 ,而运行短的,得到2个,哈哈
[
Last edited by ttj36 on 2008-8-15 at 10:57 PM ]
作者: HAT
时间: 2008-8-15 23:00
cmd里面for的控制变量用一个百分号
bat里面for的控制变量用两个百分号
建议复习一下批处理基础教程^_^
作者: ttj36
时间: 2008-8-15 23:03
for /f "tokens=4 delims= " %%a in ('dir /x ^| findstr "d:\sd."') do echo %%a
不行呀,哪有问题,请指点一下,只能进入,D目录在运行
for /f "tokens=4 delims= " %%a in ('dir /x ^| findstr "sd."') do echo %%a
而且很不准,只要有SD文字的都会出来,
[
Last edited by ttj36 on 2008-8-16 at 11:23 AM ]