Board logo

标题: [文本处理] bat脚本中%%~t不生效 [打印本页]

作者: lx1289467593    时间: 2018-12-17 13:51     标题: 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
请按任意键继续. . .
作者: Batcher    时间: 2018-12-17 19:33

回复 2# yhcfsr


    不是扫描桌面文件吧。楼主只是在桌面目录下执行bat脚本。
作者: Batcher    时间: 2018-12-18 09:18

第4行改成这样试试:
for %%B in ("%SrcFile%") do (
作者: lx1289467593    时间: 2018-12-18 09:59

回复 3# Batcher


    卧槽~可以了!谢谢老师




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2