作者: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-01-13 03:53 | 标题:批处理中的特殊符号
请问各位批处理中"^ ! -1 ~"这些特殊符号的作用和用法
作者:lxmxn | 时间:2007-01-13 03:56
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-06-18 22:43
受益匪浅啊!