在文件夹中所有文件的 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。
尝试删除“=”周围的空格。新行应该是:set filetime=%%~ta
https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/set_1