2013-08-23 3 views
3

В моем письме сегодня я получил электронное письмо о получении неиспользуемых букв дисков. This was their solution:Почему это работает (или как)?

Get-ChildItem function:[d-z]: -Name | Where-Object {-not (Test-Path -Path $_)} 

PowerShell Magazine BrainTeaser had this for a solution, same thing.

ls function:[d-z]: -n|?{!(test-path $_)}|random 

Я не знаю, как function:[d-z]: работает. Я знаю, что для каждого символа между «d» и «z» используется, но я не знаю, почему работает синтаксис.

Тестирование Get-ChildItem function:[d-a]: -Name дает ошибку говоря Get-ChildItem : Cannot retrieve the dynamic parameters for the cmdlet. The specified wildcard pattern is not valid:[d-a]:

Так что динамический параметр? Как получилось, не появляется с Get-Help gci -full?

ответ

7

function: - это PSDrive, который предоставляет набор функций, определенных в текущем сеансе. PowerShell создает функцию для каждого отдельного письма, названного буквой, за которой следует двоеточие.

Итак, function:[d-z]: перечислены функции от «D:» через «Z:»

function:[d-a]: не работает потому, что d-а не диапазон букв.

+1

Спасибо. Я никогда не понимал, что 'function:' был PSDrive. Теперь, когда я это понимаю, я чувствую себя хорошо в использовании. –

Смежные вопросы