标题: for语句中%~fsi的问题???
[打印本页]
作者: sunyao
时间: 2006-11-29 06:20
标题: for语句中%~fsi的问题???
查了for /?
%~fsI 是将 %I 展开到只包含短名称的完整路径名。
通过实验
SET WL_HOME=C:\bea\weblogic91
FOR %%i IN ("%WL_HOME%") DO SET WL_HOME=%%~fsi
echo %WL_HOME%
pause
显示WL_HOME=C:\bea\WEBLOG~1
不知道如何解释将“ %I 展开到只包含短名称的完整路径名“这句话
帮忙解释一下
作者: lxmxn
时间: 2006-11-29 06:59
可以这样理解,如果%i是指的文件,那么%~fsi就指的这个文件的路径和短文件名了,这个过程叫作扩展。
作者: sunyao
时间: 2006-11-29 23:00
所谓端文件名是怎么定义的C:\bea\weblogic91
怎么就变成C:\bea\WEBLOG~1了呢
作者: ccwan
时间: 2006-11-30 01:17
帮你“百度”到的:
当一个磁盘或目录下有长文件名时,由于DOS只能识别“8.3制”文件,所以会取长文件名的前“6个字母”加“~1”来表示,如“C:\Program Files”应该写为“C:\Progra~1”,如果再有“Program Common”这样的文件,那么名字就变成这样了:
“C:\Program Common”应该写为“C:\Progra~1”,
“C:\Program Files”应该写为“C:\Progra~2”,
也就是说,按字母的顺序写的。
作者: ccwan
时间: 2006-11-30 01:23
给你个例子:
@echo off
for %%i in (.) do @echo %%~si
pause>nul
以上代码存为*.bat,在任意目录下运行,可以看到当前目录的短名。
作者: sunyao
时间: 2006-11-30 02:28
感谢ccwan
明白了
作者: xuzhenhui
时间: 2007-1-13 03:53
标题: 批处理中的特殊符号
请问各位批处理中"^ ! -1 ~"这些特殊符号的作用和用法
作者: lxmxn
时间: 2007-1-13 03:56
Quote: |
Originally posted by xuzhenhui at 2007-1-12 14:53:
请问各位批处理中"^ ! -1 ~"这些特殊符号的作用和用法 |
|
DOS符号的问题
去上面这个帖子的4楼看看吧,对你有帮助的。
[
Last edited by lxmxn on 2007-1-12 at 02:57 PM ]
作者: jwm112377
时间: 2009-6-18 22:43
受益匪浅啊!