![](/img/trans.png)
[英]How can I can modify, using a batch file, the time stamp (last modified) of all files and subdirectories
[英]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.