Get-ChildItem CmdLet
ls
- это псевдоним для Get-ChildItem
cmdLet.
- Запуск
ls
(или gci
/ Get-ChildItem
) прифайл дает атрибуты файла, возвращая один элемент. - Выполнение
ls
(или gci
/ Get-ChildItem
) в папке дает атрибуты содержимого папки, возвращая массивиз элементов.
Итак, $(ls C:\temp).LastWriteTime
возвращает вывод, подобный этому, список даты и времени для всех элементов в папке:
$(gci c:\temp).LastWriteTime
Tuesday, 1 October 2019 10:23:02 AM
Monday, 4 November 2019 2:06:56 PM
Wednesday, 7 August 2019 2:55:32 PM
Thursday, 10 October 2019 3:42:06 PM
...
, который невозможно осмысленно сравнить с помощью -gt
и не относится к LastWriteTime
предполагаемой папки.
Get-Item CmdLet
Чтобы убедиться, что вы получаете LastWriteTime
для отдельного элемента, будь то файл или папка,используйте вместо этого gi
/ Get-Item
.
Папка
$(gi c:\temp).LastWriteTime
Tuesday, 18 June 2019 9:30:11 AM
Файл
$(gi C:\temp\pinglog.txt).LastWriteTime
Tuesday, 20 August 2019 5:20:06 PM