批处理:将文件的最后修改时间顺序写入变量[重复]

问题描述 投票:0回答:1

在文件夹中所有文件的 FOR 循环中,我尝试将文件时间设置为一个变量,但该变量一直为所有文件显示相同的值。

这里是.bat文件内容:

@echo off

for /f %%a in ('dir /b .\*.*') do (
    echo a : %%a
    echo ta: %%~ta
    set filetime = %%~ta
    echo filetime: %filetime%
)

这里是输出:

a : File1.txt
ta: 10/03/2023 17:09
filetime: "02/10/2020 17:44"
a : File2.txt
ta: 10/03/2023 17:10
filetime: "02/10/2020 17:44"
a : File3.txt
ta: 10/03/2023 14:02
filetime: "02/10/2020 17:44"
a : test.bat
ta: 10/03/2023 14:35
filetime: "02/10/2020 17:44"

我的目的是将实际文件时间(%%~ta)写入变量filetime。

for-loop datetime batch-file tilde
1个回答
0
投票

尝试删除“=”周围的空格。新行应该是:set filetime=%%~ta

https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/set_1

© www.soinside.com 2019 - 2024. All rights reserved.