Как получить время файла, которое было создано в последний раз с помощью пакетного скрипта - PullRequest
0 голосов
/ 26 июня 2018

У меня есть одна папка, которая содержит другую подпапку, и эта подпапка содержит файл с различными расширениями.

Теперь я хочу использовать пакетный скрипт, как извлечь имя и время этого файла в подпапку.

Я попытался, но не смог получить время этого файла, который находится в подпапках.

Я хочу только этот код только в пакетном скрипте.

1 Ответ

0 голосов
/ 26 июня 2018

с использованием подстановки ссылки на переменную 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
...