CrLf 当前离线
论坛巡查
hash /s:2~2 /t::-2 /do:"echo del ""%%s"""复制代码
TOP
/S[:Min~Max] 显示指定目录和所有子目录中的文件 Min~Max 能筛选出 Min < 递归深度 < Max 的文件 可以用 /S:Min 或 /S:~Max 单独设置上限或下限
* /Tx[:FORMAT | :Min~Max[=Format]] Tx 代表显示文件的时间属性(仅能指定一种): /TC 创建时间 /TA 上次访问时间 /TW 上次写入时间 扩展参数可指定范围,Min~Max 能筛选出 Min < 文件日期 < Max 的文件 可以用 /Tx:Min 或 /Tx:~Max 单独设置上限或下限 支持常见日期格式,并能进行增减计算,格式为: DateTime[[ + | - ]Number[Type]] + 为增加,- 为减少,Number 为数量,Type 为单位 可选的 Type 有:w(周) d(日[默认]) h(时) m(分) s(秒) hash *.txt /tw:12:00-5 rem 列举所有 5天前的12:00 之后修改的 txt 文件 hash /tc:9:00-10d+12h rem 列举所有 10天前的9:00再加12个小时 之后创建的文件 如果同时明确指定了 Min 与 Max,则会用当前时间自动补充未指定的部分 将日期补全之后,才会进行日期增减计算 若日期前缀 * 符号,则会优先用另一半补充未指定的部分如: hash /tw:"7/29 0:0"~*8:00 rem 列举从今年 07/29 00:00 到 同一天的08:00 之间修改的文件 若参数中含有 % 号,将理解为设置日期显示格式 日期格式语法参考 strftime 函数,如: hash /tw:%Y年%m月%d日 hash /printf:"%s修改于%s\n",file,tw:"%H时%M分%S秒" 如果要用一个 /tx 同时指定日期范围与显示格式 可以用 = 符号表示其后内容为日期格式: hash /tc:"00:00+12h"="%y年第%W周"
/DO:Format[,Key,...] /DOUNTIL:Format[,Key,...] 语法和 /PRINTF 一致,但效果是执行根据 Format 生成的命令行 /DO 无论执行结果如何,都将依次执行 /DOUNTIL 将中止于退出码不为 0 的命令 效果类似于 forfiles,但使用起来更灵活,如: hash /do:"ren ""%s"" ""[%d]%s""",file,n,file echo 当前目录下有 %errorlevel% 个 txt 文件 rem 启用 /return 开关将返回匹配的具体数量 /PRINTF /DO /DOUNTIL 开关互斥,只能有一个生效 启用 /RETURN 开关后,将返回最后一条命令的退出码