|
ttj36
初级用户
 
积分 80
发帖 37
注册 2008-2-6
状态 离线
|
『楼 主』:
[求助]请问P处能不能得到一个文件名的短文件名
哪个高手知道不,
高手们,我都看不懂了,我打个比方,
我要得到D盘下一个文件的短文件名,要在CMD里显示出它的短文件名字,
谢谢在面几位。顺便问一下
xx..\这种件夹的短名怎么得到,用下面的方法不行哦
[ Last edited by ttj36 on 2008-8-11 at 02:49 PM ]
|
|
2008-8-10 18:20 |
|
|
terse
银牌会员
    
积分 2404
发帖 946
注册 2005-9-8
状态 离线
|
『第
2 楼』:
for %%i in (*) do echo %%~snxi
|

简单!简单!再简单! |
|
2008-8-10 18:30 |
|
|
ttj36
初级用户
 
积分 80
发帖 37
注册 2008-2-6
状态 离线
|
|
2008-8-10 18:43 |
|
|
pusofalse
银牌会员
    
积分 1604
发帖 646
注册 2008-4-13
状态 离线
|
『第
4 楼』:
%~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
|

心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^ |
|
2008-8-10 18:54 |
|
|
HAT
版主
       
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
5 楼』:
@echo off
for %%i in ("C:\test\abcdefghijk.txt") do echo %%~snxi
|

 |
|
2008-8-11 01:49 |
|
|
ttj36
初级用户
 
积分 80
发帖 37
注册 2008-2-6
状态 离线
|
『第
6 楼』:
谢谢,好象得不到xx..\这种件夹的短名
|
|
2008-8-11 11:09 |
|
|
slore
铂金会员
      
积分 5212
发帖 2478
注册 2007-2-8
状态 离线
|
『第
7 楼』:
可以
|

S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore |
|
2008-8-11 11:41 |
|
|
kioskboy
初级用户
 
积分 153
发帖 103
注册 2008-3-27
状态 离线
|
『第
8 楼』:
FOR /F "delims==" %i IN ('dir /b') DO @echo %~si
|
|
2008-8-11 12:35 |
|
|
HAT
版主
       
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
9 楼』:
Re 6楼
是这个意思吗?
@echo off
for /f "tokens=5 delims= " %%a in ('dir /x ^| findstr xxxxxxxxx.') do echo %%a
|

 |
|
2008-8-14 23:02 |
|
|
ttj36
初级用户
 
积分 80
发帖 37
注册 2008-2-6
状态 离线
|
『第
10 楼』:
楼上的这位大哥,好够象不行哦,不行得到SD..的短名
[ Last edited by ttj36 on 2008-8-15 at 07:48 PM ]
|
|
2008-8-15 19:46 |
|
|
HAT
版主
       
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
11 楼』:
Q: 为什么不行啊?
A: 去电线杆上找个老军医的手机,他是专治+包治这个的。如果治疗周期较长,建议列出你的测试环境、测试用例、出错信息,供大家帮助你解决问题。
|

 |
|
2008-8-15 20:47 |
|
|
ttj36
初级用户
 
积分 80
发帖 37
注册 2008-2-6
状态 离线
|
『第
12 楼』:
你试试看,我在D盘,你也可以建个MD d:\SD..\ 文件夹,你得到短名看看,
[ Last edited by ttj36 on 2008-8-15 at 10:28 PM ]
|
|
2008-8-15 22:26 |
|
|
HAT
版主
       
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
13 楼』:
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
|

 |
|
2008-8-15 22:36 |
|
|
ttj36
初级用户
 
积分 80
发帖 37
注册 2008-2-6
状态 离线
|
『第
14 楼』:
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 ]
|
|
2008-8-15 22:55 |
|
|
HAT
版主
       
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
15 楼』:
cmd里面for的控制变量用一个百分号
bat里面for的控制变量用两个百分号
建议复习一下批处理基础教程^_^
|

 |
|
2008-8-15 23:00 |
|