有没有办法获得纯batch file(没有电源脚本)文件夹的创builddate? 特别是,我想在这里进行循环:
FOR /f "tokens=*" %%G in ('dir /b /s /a:d "C:asdf*"') DO CALL :loopbody "%%~tG" "%%G"
此循环调用一个“函数”,将文件夹的修改date作为第一个参数,将文件夹的path作为第二个参数。
如何获得以START命令开始的batch file的返回/退出代码?
Windows 7需要只保留最近的5个文件在一个文件夹中,并删除其余
如何使用batch file捕获Windows硬件configuration?
不能从另一个内部调用.bat文件 – “无法识别为内部或外部命令”错误
for /f "skip=5 tokens=1,2 delims= " %%A in ('dir /ad /od /tc "dirname"') do ( echo %%A-%%B goto :end_loop ) :end_loop
试试这个。结果将取决于你的时间设置,可能你需要调整标记和分隔符。也可以使用WMIC和混合jscript / vbscript,但需要几分钟的时间来创建一个脚本。
编辑与wmic:
WMIC path Win32_Directory WHERE name='C:\SomeDir' get creationdate
编辑这里有一些准备使用不同的方法来获取文件或目录时间戳的脚本:
fileModifiedTime.bat – 获取设置独立格式文件的最后修改时间。基于robocopy
dirTimes.bat – 用WMIC获取目录时间戳
fileTimesJS.bat – 文件时间戳与jscript
dirTimesJS.bat – 带jscript的目录时间戳
fileTimesNET.bat – 文件时间戳与.NET
dirTimesNET.bat – 使用.NET的 dir时间戳
@ECHO OFF &SETLOCAL CD "StartFolder" FOR /D /R %%G in (*) DO ( SET "FileName=%%~G" SETLOCAL ENABLEDELAYEDEXPANSION FOR /F %%H IN ('wmic fsdir where name^="!FileName:=\!" get creationdate^|find "."') DO SET "cdate=%%H" CALL :loopbody "!cdate:~6,2!/!cdate:~4,2!/!cdate:~0,4!-!cdate:~8,2!:!cdate:~10,2!:!cdate:~12,2!" "!FileName!" ENDLOCAL ) GOTO:EOF :loopbody ECHO %~1 "%~2" EXIT /B
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。