PowerShell gci -Path C: \ -exclude "Windows" -Directory не показывает каталогов - PullRequest
0 голосов
/ 21 января 2020

Это мои каталоги уровня root:

gci -Path C: \ -Directory

Mode                LastWriteTime     Length Name                                                                                                  
----                -------------     ------ ----                                                                                                  
d----          1/9/2020  10:35 AM            DevResources                                                                                          
d----         9/12/2018   7:13 AM            inetpub                                                                                               
d----         8/22/2013  10:52 AM            PerfLogs                                                                                              
d-r--        12/11/2019   9:30 AM            Program Files                                                                                         
d----         10/7/2019   2:50 PM            Program Files (x86)                                                                                   
d----         10/3/2018   7:11 AM            Projects                                                                                              
d----         8/22/2019   1:08 PM            SymCache                                                                                              
d----         1/20/2020  10:57 AM            temp                                                                                                  
d-r--        12/11/2019   8:58 AM            Users                                                                                                 
d----         8/22/2019   2:22 PM            Windows                                                                                               
d----         7/31/2019  10:43 PM            Zabbix   

, но когда я запускаю:

gci -Path C: \ -exclude "Windows" -Directory

Я не получил результатов вообще. Это кажется легким, но я не вижу, что не так.

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

1 Ответ

1 голос
/ 21 января 2020

Ты прав. Это похоже на ошибку. Работает в подкаталогах.

gci -path c:\windows -directory -exclude winsxs

В osx в 6.2.3 выдает странное сообщение:

gci -path / -directory -exclude var

gci : Cannot process argument because the value of argument "path" is not valid. Change the value of the "path" argument and run the operation again.
At line:1 char:1
+ gci -path / -directory -exclude var
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidArgument: (:) [Get-ChildItem], PSArgumentException
+ FullyQualifiedErrorId : Argument,Microsoft.PowerShell.Commands.GetChildItemCommand

Или так в windows пс 5.1 - 7:

dir Microsoft.PowerShell.Core\FileSystem::C:\ -exclude windows

dir : Cannot process argument because the value of argument "path" is not valid. Change the value of the "path" argument and run the operation again.
At line:1 char:2
+  dir Microsoft.PowerShell.Core\FileSystem::C:\ -exclude windows
+  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Get-ChildItem], PSArgumentException
    + FullyQualifiedErrorId : Argument,Microsoft.PowerShell.Commands.GetChildItemCommand

Вот обходной путь, но только для powershell 6 и 7:

get-item c:\ | get-childitem -exclude windows
...