с использованием подстановки ссылки на переменную for /?
, эхо может быть изменено любой другой командой или вызовом
командной строки
for %f in (filepath\pattern) do echo "%f : %~tf"
в сценарии знак процента должен быть двойным
for %%f in (filepath\pattern) do echo "%%f : %%~tf"
РЕДАКТИРОВАТЬ после комментария
вот пример того, как использовать метки для имитации функции и чтобы избежать уловок расширения, обратите внимание, что метки не совсем функции, они выполняются в нормальном потокеВот почему есть goto :main
, чтобы пропустить :process
и goto :eof
для возврата.
@echo off
goto :main
:process
echo file name is: %~1 and time is %~2
goto :eof
:main
for %%x in (AppData\Local\*.*) do call :process "%%x" "%%~tx"
, но с набором команд пакетного сценария очень ограничен, также следует отметить, что вывод даты и временине может быть отформатирован и зависит от настроек языка системы.
Если можно использовать PowerShell, стоит потратить время на изучение.Различные свойства времени файла:
$file.CreationTime
$file.CreationTimeUtc
$file.LastAccessTime
$file.LastAccessTimeUtc
$file.LastWriteTime
$file.LastWriteTimeUtc