中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-07 14:39
48,040 主题排行 / 350,125 发帖 / 今日 0 篇 / 48,252 会员排行
DOS批处理 & 脚本技术(批处理室) » 我想问像这样的 ( %~t0 ) 还有那些?
可打印版本  602 / 10
第1楼 hy433124shc 发表于 2008-02-25 11:34
中级用户 发帖 75 积分 201
我想问像这样的 ( %~t0 ) 还有那些?
在本坛发现一批如下,运行后得本批时间

@echo off
echo %~t0
pause

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

麻烦知道的给说一下
第2楼 hy433124shc 发表于 2008-02-25 11:35
中级用户 发帖 75 积分 201
怎么一下就发两个?
第3楼 pooronce 发表于 2008-02-25 11:42
中级用户 发帖 250 积分 484
%~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楼 hy433124shc 发表于 2008-02-25 11:44
中级用户 发帖 75 积分 201
我试了后,发现与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楼 hy433124shc 发表于 2008-02-25 11:52
中级用户 发帖 75 积分 201
Originally posted by pooronce at 2008-2-25 11:42 AM:
%~1 - 删除引号("),扩充 %1
%~f1 - 将 %1 扩充到一个完全合格的路径名
%~d1 - 仅将 %1 扩充到一个驱动器号
%~p1 ...


谢了,

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

call /?命令的帮助看了,

可是还不知 "%~t0" 的 "0" 是什么意思
第6楼 everest79 发表于 2008-02-25 11:53
金牌会员 发帖 1,127 积分 2,564
.cmd=cmdfile="%1" %*
%0=上边的那个"%1"
第7楼 hy433124shc 发表于 2008-02-25 12:21
中级用户 发帖 75 积分 201
还是不懂,麻烦来个 实例批 具体点好吗
第8楼 everest79 发表于 2008-02-25 12:36
金牌会员 发帖 1,127 积分 2,564
新建一个批处理hy433124shc.cmd

内容为
echo %0
pause

然后执行看看
再到cmd下手动输入这个批处理名字执行看看
第9楼 HAT 发表于 2008-02-25 13:31
版主 发帖 5,017 积分 9,023
%0代表你运行的那个批处理本身
第10楼 hy433124shc 发表于 2008-02-25 18:19
中级用户 发帖 75 积分 201
有点头绪

有一批名 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楼 hy433124shc 发表于 2008-02-25 21:23
中级用户 发帖 75 积分 201
顶一下,
还没结果呢!
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023