0

ディレクトリ内の最も古いファイルの更新日をテキスト ファイルに書き込もうとしています。現時点では、すべてのファイル名 (作成された日付に名前を付けましたが) を古いものから新しい順に書き込むことができますが、これを制限して最も古いものを出力したり、実際に変更または作成された日付/時刻を取得したりすることはできません。私のディレクトリは、差分を作成する場合に備えてリモートであり、現在の試みは次のとおりです。

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

同じディレクトリのテキストファイルに書き込まれたファイルの作成日または変更日を取得する方法はありますか?

4

2 に答える 2

3

これを試して:

for /f "delims=" %i in ('dir /b/o-d/a-d') do set "oldesttime=%~ti"
>"log.txt" echo %oldesttime%
于 2013-07-03T11:48:40.827 に答える
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
于 2013-07-05T11:30:34.123 に答える