PowerShell: Check whether a Windows command or executable is available

In one of my recent PowerShell scripts I needed to find out if certain commands (in my case “svn”, “git”, “ant” and “mvn”) were available or not. I wrote this small function that tries to call the given command and returns whether it is callable.

function commandAvailable($cmd, $options) { $error.clear(); $ErrorActionPreference = "silentlycontinue"; & $cmd $options | out-null; $ErrorActionPreference = "stop"; if ($error[0]) { write-host ("Command " + $cmd + " " + $options + " is not available") -foregroundcolor "red"; return $false; } return $true; } write-host (commandAvailable "svn" "--version");

Über Stefan

Polyglot Clean Code Developer

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax