Board logo

标题: 我想问像这样的 ( %~t0 ) 还有那些? [打印本页]

作者: hy433124shc     时间: 2008-2-25 11:34    标题: 我想问像这样的 ( %~t0 ) 还有那些?
在本坛发现一批如下,运行后得本批时间

@echo off
echo %~t0
pause

我想问像这样的 ( %~t0 ) 还有那些?

麻烦知道的给说一下

作者: hy433124shc     时间: 2008-2-25 11:35
怎么一下就发两个?

作者: pooronce     时间: 2008-2-25 11:42
%~1 - 删除引号("),扩充 %1
%~f1 - 将 %1 扩充到一个完全合格的路径名
%~d1 - 仅将 %1 扩充到一个驱动器号
%~p1 - 仅将 %1 扩充到一个路径
%~n1 - 仅将 %1 扩充到一个文件名
%~x1 - 仅将 %1 扩充到一个文件扩展名
%~s1 - 扩充的路径指含有短名
%~a1 - 将 %1 扩充到文件属性
%~t1 - 将 %1 扩充到文件的日期/时间
%~z1 - 将 %1 扩充到文件的大小
%~$PATH : 1 - 查找列在 PATH 环境变量的目录,并将 %1
扩充到找到的第一个完全合格的名称。如果环境
变量名未被定义,或者没有找到文件,此组合键会
扩充到空字符串

可以组合修定符来取得多重结果:

%~dp1 - 只将 %1 扩展到驱动器号和路径
%~nx1 - 只将 %1 扩展到文件名和扩展名
%~dp$PATH:1 - 在列在 PATH 环境变量中的目录里查找 %1,
并扩展到找到的第一个文件的驱动器号和路径。
%~ftza1 - 将 %1 扩展到类似 DIR 的输出行。

在上面的例子中,%1 和 PATH 可以被其他有效数值替换。
%~ 语法被一个有效参数号码终止。%~ 修定符不能跟 %*
使用


请参考call /?
多看命令的帮助吧
另外你这贴子发重复了

作者: hy433124shc     时间: 2008-2-25 11:44
我试了后,发现与FOR的一样, 就是不知 "%~t0 " 中的 "0" 是什么意思


FOR 变量参照的替换已被增强。您现在可以使用下列
选项语法:

~I - 删除任何引号("),扩充 %I
%~fI - 将 %I 扩充到一个完全合格的路径名
%~dI - 仅将 %I 扩充到一个驱动器号
%~pI - 仅将 %I 扩充到一个路径
%~nI - 仅将 %I 扩充到一个文件名
%~xI - 仅将 %I 扩充到一个文件扩展名
%~sI - 扩充的路径只含有短名
%~aI - 将 %I 扩充到文件的文件属性
%~tI - 将 %I 扩充到文件的日期/时间
%~zI - 将 %I 扩充到文件的大小
%~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩充
到找到的第一个完全合格的名称。如果环境变量名
未被定义,或者没有找到文件,此组合键会扩充到
空字符串

可以组合修饰符来得到多重结果:

%~dpI - 仅将 %I 扩充到一个驱动器号和路径
%~nxI - 仅将 %I 扩充到一个文件名和扩展名
%~fsI - 仅将 %I 扩充到一个带有短名的完整路径名
%~dp$PATH:i - 查找列在路径环境变量的目录,并将 %I 扩充
到找到的第一个驱动器号和路径。
%~ftzaI - 将 %I 扩充到类似输出线路的 DIR

在以上例子中,%I 和 PATH 可用其他有效数值代替。%~ 语法
用一个有效的 FOR 变量名终止。选取类似 %I 的大写变量名
比较易读,而且避免与不分大小写的组合键混淆。

作者: hy433124shc     时间: 2008-2-25 11:52
Originally posted by pooronce at 2008-2-25 11:42 AM:
%~1 - 删除引号("),扩充 %1
%~f1 - 将 %1 扩充到一个完全合格的路径名
%~d1 - 仅将 %1 扩充到一个驱动器号
%~p1 ...


谢了,

我也不知为何一下就发了两

call /?命令的帮助看了,

可是还不知 "%~t0" 的 "0" 是什么意思

作者: everest79     时间: 2008-2-25 11:53
.cmd=cmdfile="%1" %*
%0=上边的那个"%1"

作者: hy433124shc     时间: 2008-2-25 12:21
还是不懂,麻烦来个 实例批 具体点好吗

作者: everest79     时间: 2008-2-25 12:36
新建一个批处理hy433124shc.cmd

内容为
echo %0
pause

然后执行看看
再到cmd下手动输入这个批处理名字执行看看

作者: HAT     时间: 2008-2-25 13:31
%0代表你运行的那个批处理本身

作者: hy433124shc     时间: 2008-2-25 18:19
有点头绪

有一批名 HY433124SHC.CMD 如下
@ECHO OFF
set var=a
echo %var%
set /p var=%0
echo %1
%1
echo %2
echo %3
echo %var%
PAUSE

在 C:\>HY433124SHC.CMD DIR A B 中则有

%0 为 HY433124SHC。CMD
%1 为 DIR
%2 为 A
%3 为 B


是这样理解的吗????

Last edited by hy433124shc on 2008-2-25 at 06:21 PM ]

作者: hy433124shc     时间: 2008-2-25 21:23
顶一下,
还没结果呢!