Эквивалентный из *Отклоняют 'который' команда в PowerShell?

Как будто вы пытаетесь получить доступ к объекту, который является null. Рассмотрим ниже пример:

TypeA objA;

. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException, что имеет смысл.

См. Также этот пример:

String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
361
задан Peter Mortensen 8 December 2018 в 21:49
поделиться

4 ответа

Самый первый псевдоним, который я сделал, как только я начал настраивать свой профиль в PowerShell, был 'который'.

New-Alias which get-command

Для добавления этого к профилю введите это:

"`nNew-Alias which get-command" | add-content $profile

и в начале последней строки должен гарантировать, что она запустится как новая строка.

349
ответ дан Peter Mortensen 23 November 2019 в 00:15
поделиться

Проверьте этот PowerShell Который .

код, если там предлагает это:

($Env:Path).Split(";") | Get-ChildItem -filter notepad.exe
3
ответ дан Peter Mortensen 23 November 2019 в 00:15
поделиться

Я обычно просто ввожу:

gcm notepad

или

gcm note*

gcm является псевдонимом по умолчанию для Получать-команды.

В моей системе, gcm отмечают* выводы:

[27] » gcm note*

CommandType     Name                                                     Definition
-----------     ----                                                     ----------
Application     notepad.exe                                              C:\WINDOWS\notepad.exe
Application     notepad.exe                                              C:\WINDOWS\system32\notepad.exe
Application     Notepad2.exe                                             C:\Utils\Notepad2.exe
Application     Notepad2.ini                                             C:\Utils\Notepad2.ini

Вы получаете каталог и команду, которая соответствует тому, что Вы ищете.

80
ответ дан David Mohundro 23 November 2019 в 00:15
поделиться

Это, кажется, делает то, что Вы хотите (я нашел его на http://huddledmasses.org/powershell-find-path/):

Function Find-Path($Path, [switch]$All = $false, [Microsoft.PowerShell.Commands.TestPathType]$type = "Any")
## You could comment out the function stuff and use it as a script instead, with this line:
#param($Path, [switch]$All = $false, [Microsoft.PowerShell.Commands.TestPathType]$type = "Any")
   if($(Test-Path $Path -Type $type)) {
      return $path
   } else {
      [string[]]$paths = @($pwd);
      $paths += "$pwd;$env:path".split(";")

      $paths = Join-Path $paths $(Split-Path $Path -leaf) | ? { Test-Path $_ -Type $type }
      if($paths.Length -gt 0) {
         if($All) {
            return $paths;
         } else {
            return $paths[0]
         }
      }
   }
   throw "Couldn't find a matching path of type $type"
}
Set-Alias find Find-Path
3
ответ дан Peter Mortensen 23 November 2019 в 00:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: