批处理脚本:将目录中最旧文件的日期写入文本文件

时间:2013-07-03 11:03:53

标签: datetime batch-file creation

我正在尝试将目录中最旧文件的修改日期写入文本文件。目前我可以用最旧到最新的顺序写出所有文件名(我将它们命名为创建它们的日期),但似乎不能将此限制为仅输出最旧的或确实获得修改或创建的日期/时间。我的目录是远程的,以防它产生差异,我当前的尝试如下:

dir "\\dirxxxx\xxxxxxx\xxxxx\xxxxx\xxxxx\*.*" /b /a-d /o-d`

我是如何知道如何将文件的创建或修改日期写入同一目录中的文本文件?

2 个答案:

答案 0 :(得分:3)

试试这个:

for /f "delims=" %i in ('dir /b/o-d/a-d') do set "oldesttime=%~ti"
>"log.txt" echo %oldesttime%

答案 1 :(得分:0)

解决方案:改为使用vbs。

Option Explicit  
Dim fso, path, file, recentDate, recentFile, objFileHandle
Set fso = CreateObject("Scripting.FileSystemObject")
Set recentFile = Nothing
For Each file in fso.GetFolder("\\xxxxxx\xxxxxxx").Files
  If (recentFile is Nothing) Then
    Set recentFile = file
  ElseIf (file.DateLastModified < recentFile.DateLastModified) Then
    Set recentFile = file
  End If
Next

If recentFile is Nothing Then
  WScript.Echo "no recent files"
Else
  WScript.Echo recentFile.DateLastModified

  Set objFileHandle = fso.OpenTextFile("\\Vxxxxxx\xxxxx", 2, "True")
  objFileHandle.Write(recentFile.DateLastModified)
  objFileHandle.Close
End If