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


  Quote:
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
顶一下,
还没结果呢!