簡體   English   中英

如何在批處理文件中回顯文件的最后修改時間?

[英]How can I echo a files last modified time in a batch file?

我有這段代碼可以回顯文件是否已被修改。 我該如何添加,使其不僅可以回顯文件今天已被修改,還可以回聲什么時候?

例如,“今天在%modifytime%修改的文件”。

@echo off
for %%F in (C:\temp\file.txt) do (for /F %%D in ("%%~tF") do (set mdate=%%D))
for /F "tokens=2" %%D in ('date/t') do set cdate=%%D
if "%date%"=="%mdate%" echo File modified today
if not "%date%"=="%mdate%" echo File not modified today

這是使用內置的ForFiles命令的快速提示:

@Echo Off
For %%A In ("C:\temp\file.txt") Do (If Not "%__CD__%"=="%%~dpA" PushD "%%~dpA"
    ForFiles /M "%%~nxA" /D 0 /C^
    "Cmd /C Echo @File was modified today0x09@fDate @fTime"2>Nul||(
    Echo "%%A" not modified today))
Pause

與您的示例一樣,此想法使您可以將第3行的括號之間的單個文件替換為:

  • *輸出當前目錄中的每個文件。
  • "C:\\temp\\file1.txt" "C:\\somewhere\\fileZ.exe"輸出多個已知文件。
    特別說明:在沒有PushD情況下使用PopD可能會限制不同目錄的數量; 如果使用此選項,請謹慎使用。

為了安全起見,建議您在這些括號之間輸入雙引號。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM