标题: [文本处理] bat脚本中%%~t不生效 [打印本页]
作者: lx1289467593 时间: 2018-12-17 13:51 标题: bat脚本中%%~t不生效
各位老师,脚本如下,目的是调取一个指定目录文件的最后创建时间,因为这个目录的文件会不断的删除增加,
我就参考网上的写了一个脚本,根据时间排序取文件名,再取这个文件的创建时间,但是%%~t这里就没有信息了
麻烦各位老师帮忙看看- @echo on
- for /f "delims=" %%a in ('dir/a-d/od/b z:*') do set f=%%a
- set SrcFile=Z:/%f%
- for /f "delims=" %%B in ('dir/a-d/b "%SrcFile%"') do (
- set tm=%%~tB
- )
- echo %tm%
- 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 |