找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 26339|回复: 3

[文本处理] bat脚本中%%~t不生效

[复制链接]
发表于 2018-12-17 13:51:59 | 显示全部楼层 |阅读模式
各位老师,脚本如下,目的是调取一个指定目录文件的最后创建时间,因为这个目录的文件会不断的删除增加,
我就参考网上的写了一个脚本,根据时间排序取文件名,再取这个文件的创建时间,但是%%~t这里就没有信息了
麻烦各位老师帮忙看看
  1. @echo on
  2. for /f "delims=" %%a in ('dir/a-d/od/b z:*') do set f=%%a
  3. set SrcFile=Z:/%f%
  4. for /f "delims=" %%B in ('dir/a-d/b "%SrcFile%"') do (
  5. set tm=%%~tB
  6. )
  7. echo %tm%
  8. pause
复制代码
回显如下:

C:\Users\sch00921\Desktop>for /F "delims=" %a in ('dir/a-d/od/b z:*') do set f=%a

C:\Users\sch00921\Desktop>set f=MEMORY.DMP

C:\Users\sch00921\Desktop>set f=1.txt

C:\Users\sch00921\Desktop>set f=2.txt

C:\Users\sch00921\Desktop>set f=3.txt

C:\Users\sch00921\Desktop>set f=4.txt

C:\Users\sch00921\Desktop>set f=1.log

C:\Users\sch00921\Desktop>set f=101.txt

C:\Users\sch00921\Desktop>set SrcFile=Z:/101.txt

C:\Users\sch00921\Desktop>for /F "delims=" %B in ('dir/a-d/b "Z:/101.txt"') do (set tm=%~tB )

C:\Users\sch00921\Desktop>(set tm= )

C:\Users\sch00921\Desktop>echo
ECHO 处于打开状态。

C:\Users\sch00921\Desktop>pause
请按任意键继续. . .
发表于 2018-12-17 19:33:01 | 显示全部楼层
回复 2# yhcfsr


    不是扫描桌面文件吧。楼主只是在桌面目录下执行bat脚本。
发表于 2018-12-18 09:18:13 | 显示全部楼层
第4行改成这样试试:
for %%B in ("%SrcFile%") do (
 楼主| 发表于 2018-12-18 09:59:46 | 显示全部楼层
回复 3# Batcher


    卧槽~可以了!谢谢老师
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 22:47 , Processed in 0.016863 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表