Wie kann ich PowerShell fragen, wo etwas ist?
Zum Beispiel: "which notepad" und es wird das Verzeichnis zurückgegeben, in dem die notepad.exe entsprechend den aktuellen Pfaden ausgeführt wird.
Wie kann ich PowerShell fragen, wo etwas ist?
Zum Beispiel: "which notepad" und es wird das Verzeichnis zurückgegeben, in dem die notepad.exe entsprechend den aktuellen Pfaden ausgeführt wird.
Ich mag Get-Command | Format-List
oder kürzer, unter Verwendung von Aliasnamen für die beiden und nur für powershell.exe
:
gcm powershell | fl
Sie können Aliase wie diesen finden:
alias -definition Format-List
Die Tabulatorvervollständigung funktioniert mit gcm
.
Damit die Registerkarte alle Optionen auf einmal auflistet:
set-psreadlineoption -editmode emacs
Prüfen Sie dies PowerShell Welche .
Der dort angegebene Code legt dies nahe:
($Env:Path).Split(";") | Get-ChildItem -filter notepad.exe
Dies scheint das zu tun, was Sie wollen (ich fand es auf 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
Versuchen Sie die where
auf Windows 2003 oder höher (oder Windows 2000/XP, wenn Sie ein Resource Kit installiert haben).
Diese Frage wurde übrigens bereits in anderen Fragen beantwortet:
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.