我正在尝试使用FOR / R循环遍历一些特别长的文件夹(长度超过260个字符,因此需要使用\?\),我需要使用循环,完全限定的路径名和最后访问时间
如果我这样做:
for /r "\\?\c:\windows" %a in (*.bat) do echo %~fta
我得到了完整的路径和最后修改的时间。即使我将DIRCMD设置为/ TA,似乎对FOR / R也没有影响。有人知道强制该时间/日期最后访问而不是最后修改的方法吗?AFAIK,长路径名称排除了Powershell,这是我最初的方法,但也很高兴收到建议。
1
Windows Shell命令显示文件名和最后访问时间
—
DavidPostill
谢谢,如果这允许我将\\?\用作长路径名,则可能是解决方案。
—
Dave_J 2015年
似乎此命令:
—
Dave_J 2015年
for /f "delims=" %%F in ('dir /o:d /t:a /s /b "c:\myPath\*"') @echo %%~tF %%F
不会输出与仅执行dir / t:a相同的日期,因此很遗憾回到平方1。@AFH是的,时间戳在那儿,只是在努力争取。
为什么不在
—
AFH 2015年
dir
循环中使用,然后使用诸如grep
和sed
或之类的过滤器cut
提取所需的时间戳?这些是Unix实用程序,已多次移植到Windows,包括在MS自己的Unix服务中。