在批处理脚本中获取文件夹的创builddate和时间

我正在尝试获取Windows中特定文件的创builddate和时间。 基于这个答案 ,我尝试了以下内容:

@echo off set path_of_folder="C:\folderA\folderB\" if exist %path_of_folder% ( echo Path exists. for /f "skip=5 tokens=1,2 delims= " %%a in ('dir /ad /tc %path_of_folder%') do set "dt=%%a" echo Created on: %%a, %%b ) ) else ( echo Path does not exist. ) pause 

我在哪里得到这个输出:

 Path exists. Created on: 05/07/2017, 17:42 Created on: 05/07/2017, 17:42 Created on: 05/07/2017, 17:42 Created on: 05/07/2017, 17:42 Created on: 4, File(s) Created on: 0, Dir(s) 

我确定它显示 folderB 每个文件创builddate (我的例子是4)。

我正在寻找只保存顶部文件夹 folderB的创builddate和时间; 任何人都可以build议/显示如何实现这一点,而不是获得所有其他创builddate/时间?

请注意,在附加链接上给出的答案中,在echo Created on: %%a, %%b之后有一个exit /b 0 echo Created on: %%a, %%b命令,我不能将其添加到脚本中,因为还有其他几个要执行的命令我得到系统date和时间后。

Solutions Collecting From Web of "在批处理脚本中获取文件夹的创builddate和时间"

 @ECHO OFF SETLOCAL set "path_of_folder=C:\sql2016\mssql13.sqlexpress03" if exist "%path_of_folder%" ( echo Path exists. for /f "skip=5 tokens=1,2,4 delims= " %%a in ( 'dir /ad /tc "%path_of_folder%\."') do IF "%%c"=="." ( set "dt=%%a" echo Created on: %%a, %%b ) ) else ( echo Path does not exist. ) GOTO :EOF 

我使用了不同的目标目录,因为我从提示符运行,我已经取代了pause

请注意,包含path的变量现在没有关闭\ ,也没有引用。 这有利于进行修改,但意味着在需要时,对该变量的引用需要“引用”。

只需在%%c中选择目录的名称部分即可。 因此,您需要列出目录因此/ad 。 目录名称是. 所以只执行分配和报告,如果找到的目录名是"."

skip=5是多余的,如果您愿意,可以删除。 if过滤器确保. 目录被报告。

检查dirtimejs.bat – 它可以打印独立于控制面板设置的目录时间:

 @echo off SETLOCAL ENABLEDELAYEDEXPANSION set "path_of_folder=C:\folderA\folderB" for /f "tokens=1* delims=:" %%a in ('dirtimejs.bat "%path_of_folder%" ^| find "Created :"') do ( echo %%a )