标题: %%~sI 跟%%~fI有什么区别?
[打印本页]
作者: ssyfzy
时间: 2007-10-5 21:44
标题: %%~sI 跟%%~fI有什么区别?
for中的这两个运行后是一样的啊
作者: lxmxn
时间: 2007-10-5 23:14
看for命令的帮助。
Quote: |
%~fI - 将 %I 扩充到一个完全合格的路径名
%~sI - 扩充的路径只含有短名 |
|
作者: piliwang
时间: 2007-10-15 14:40
楼上的
可以举一个具体的事列来说明嘛!谢谢!
作者: lxmxn
时间: 2007-10-15 16:50
Quote: |
Originally posted by piliwang at 2007-10-15 14:40:
楼上的
可以举一个具体的事列来说明嘛!谢谢! |
|
运行下面的批处理:
@echo off
echo %%~f0 的值为:
echo 文件的完整路径:%~f0
echo %%~s0 的值为:
echo 文件短路径:%~s0
echo %%~z0 的值为:
echo 文件大小:%~z0
echo 类似还有很多,参考for命令!
pause
作者: buzhaiwen
时间: 2007-10-18 23:09
FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i
上面是帮助里面的,我把它改为
FOR /F "delims=" %i IN (`dir /b`) DO @echo %%i
上面的命令行就容易理解了吧(显示当前路径下的目录及文件名)...
我的C目录下有这些:C:\>dir /b
123
123.txt
aaaaa.bat
AUTOEXEC.BAT
BOOTini.bak
CONFIG.SYS
Documents and Settings
FFAST500.FF_
Program Files
WINDOWS
wmpub
而此时我把他改为:
FOR /F "delims=" %i IN (`dir /b`) DO @echo %%~fi
运行结果为:
C:\123
C:\123.txt
C:\aaaaa.bat
C:\AUTOEXEC.BAT
C:\BOOTini.bak
C:\CONFIG.SYS
C:\Documents and Settings
C:\FFAST500.FF_
C:\Program Files
C:\WINDOWS
C:\wmpub
看到有什么区别了吗?
在看看FOR的帮助吧...
%~fI - 将 %I 扩充到一个完全合格的路径名
把上面的变量由:%%i改为:%%~fi
后者只是多加了个 ~f
前者是只显示出了文件名,而后者显示了完整的路径名(符合定义吧)
对for我也刚学不久,,,太菜了.只能说这样了...
你在看看for的帮助慢慢理解吧....
[
Last edited by buzhaiwen on 2007-10-18 at 11:11 PM ]