[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

各位老师,脚本如下,目的是调取一个指定目录文件的最后创建时间,因为这个目录的文件会不断的删除增加,
我就参考网上的写了一个脚本,根据时间排序取文件名,再取这个文件的创建时间,但是%%~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
请按任意键继续. . .

回复 3# Batcher


    卧槽~可以了!谢谢老师

TOP

第4行改成这样试试:
for %%B in ("%SrcFile%") do (
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 2# yhcfsr


    不是扫描桌面文件吧。楼主只是在桌面目录下执行bat脚本。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表