中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-07 15:24
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 我想问像这样的 ( %~t0 ) 还有那些? 查看 604 回复 10
楼 主 我想问像这样的 ( %~t0 ) 还有那些? 发表于 2008-02-25 11:34 ·  中国 山东 潍坊 电信
中级用户
★★
积分 201
发帖 75
注册 2007-02-24 00:26
19年会员
UID 80034
性别 男
状态 离线
在本坛发现一批如下,运行后得本批时间

@echo off
echo %~t0
pause

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

麻烦知道的给说一下
2 发表于 2008-02-25 11:35 ·  中国 山东 潍坊 电信
中级用户
★★
积分 201
发帖 75
注册 2007-02-24 00:26
19年会员
UID 80034
性别 男
状态 离线
怎么一下就发两个?
3 发表于 2008-02-25 11:42 ·  中国 上海 浦东新区 电信
中级用户
★★
积分 484
发帖 250
注册 2007-06-05 23:33
19年会员
UID 90372
性别 男
状态 离线
%~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 /?
多看命令的帮助吧
另外你这贴子发重复了
4 发表于 2008-02-25 11:44 ·  中国 山东 潍坊 电信
中级用户
★★
积分 201
发帖 75
注册 2007-02-24 00:26
19年会员
UID 80034
性别 男
状态 离线
我试了后,发现与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 的大写变量名
比较易读,而且避免与不分大小写的组合键混淆。
5 发表于 2008-02-25 11:52 ·  中国 山东 潍坊 电信
中级用户
★★
积分 201
发帖 75
注册 2007-02-24 00:26
19年会员
UID 80034
性别 男
状态 离线
Originally posted by pooronce at 2008-2-25 11:42 AM:
%~1 - 删除引号("),扩充 %1
%~f1 - 将 %1 扩充到一个完全合格的路径名
%~d1 - 仅将 %1 扩充到一个驱动器号
%~p1 ...


谢了,

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

call /?命令的帮助看了,

可是还不知 "%~t0" 的 "0" 是什么意思
6 发表于 2008-02-25 11:53 ·  中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
19年会员
UID 74552
性别 男
状态 离线
.cmd=cmdfile="%1" %*
%0=上边的那个"%1"
49206C6F766520796F752067757973 54656C3A3133383238343036373837
7 发表于 2008-02-25 12:21 ·  中国 山东 潍坊 电信
中级用户
★★
积分 201
发帖 75
注册 2007-02-24 00:26
19年会员
UID 80034
性别 男
状态 离线
还是不懂,麻烦来个 实例批 具体点好吗
8 发表于 2008-02-25 12:36 ·  中国 广东 广州 天河区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
19年会员
UID 74552
性别 男
状态 离线
新建一个批处理hy433124shc.cmd

内容为
echo %0
pause

然后执行看看
再到cmd下手动输入这个批处理名字执行看看
49206C6F766520796F752067757973 54656C3A3133383238343036373837
9 发表于 2008-02-25 13:31 ·  中国 上海 联通
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
%0代表你运行的那个批处理本身
10 发表于 2008-02-25 18:19 ·  中国 山东 潍坊 电信
中级用户
★★
积分 201
发帖 75
注册 2007-02-24 00:26
19年会员
UID 80034
性别 男
状态 离线
有点头绪

有一批名 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 ]
11 发表于 2008-02-25 21:23 ·  中国 山东 潍坊 电信
中级用户
★★
积分 201
发帖 75
注册 2007-02-24 00:26
19年会员
UID 80034
性别 男
状态 离线
顶一下,
还没结果呢!
论坛跳转: