Старайтесь усвоить ошибку PowerShell «Литерал хеша был неполным». - PullRequest
0 голосов
/ 30 декабря 2018
Get-Process s* |
    where {s$_.Path} |
    dir |
    sort LastWriteTime |
    Format-Table fullname, name,@{label="LastWriteTime";Expr={$_.LastWriteTime}

Ошибка:

The hash literal was incomplete.
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : IncompleteHashLiteral

Не могли бы вы дать мне подсказку, как переписать, пожалуйста?

1 Ответ

0 голосов
/ 30 декабря 2018

Вы пропустили фигурную скобку.Но в вашем коде больше проблем.Невозможно передать объект System.Diagnostics.Process в 'dir'

Я сделал это, что, я думаю, дает желаемый результат:

Get-Process s* |where {$_.Path} | ForEach-Object {Get-Item $_.Path } |
Sort-Object LastWriteTime | Format-Table fullname, name,LastWriteTime

Что он делает:

  • Получить все процессы, в которых имя начинается с s, а для возвращенного объекта определено свойство Path
  • Получить объект файла каждого процесса
  • отсортировать объекты файлаby LastWriteTime
  • Форматирование вывода
...