Установка нескольких свойств одновременно в Powershell - PullRequest
4 голосов
/ 26 мая 2011

Есть ли более короткий способ присвоения нескольким свойствам одного и того же значения в Powershell в одной команде, чем эта?

Пример:

(gi  "c:\test.txt").LastWriteTime = (gi  "c:\test.txt").LastAccessTime = (gi  "c:\test.txt").CreationTime = Get-date

Мне просто интересно, еслиспособ сократить этот синтаксис.

Ответы [ 2 ]

7 голосов
/ 26 мая 2011
"CreationTime","LastWriteTime","LastAccessTime" |% {(gi test.txt).$_ = (get-date)}
0 голосов
/ 28 января 2014

Я использовал слегка измененную версию ответа Мьолинора, чтобы решить проблему с неверной датой файлов, которые были только что загружены из удаленного источника. Я изменил код, чтобы сделать его более понятным, чтобы в случае необходимости вернуться к нему в будущем (изменил сокращение на полные имена команд).

# Correct Access/Create/Write times on transferred files
ForEach( $File in $TransferList ) {
    @("CreationTime","LastAccessTime","LastWriteTime") | ForEach {
        $(Get-Item $File.Name).$_ = $File.Date
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...