Skip to content

Instantly share code, notes, and snippets.

@tps2015gh
Last active March 12, 2017 17:51
Show Gist options
  • Save tps2015gh/f004633350e4a6b96e558faaf489575a to your computer and use it in GitHub Desktop.
Save tps2015gh/f004633350e4a6b96e558faaf489575a to your computer and use it in GitHub Desktop.

#Find .NET Compiler By PowerShell

find .NET Compiler csc.exe vbc.exe jsc.exe and ngen.exe from Windows

##Code in Windows PowerShell

  • Tested in Windows 10
  • Enter powershell by type "powershell" in command prompt (Tested in OS Window 10 )
$n = get-ChildItem c:\windows\ -Filter "*NET*"
$vbc = Get-ChildItem $n.FullName -Filter "*vbc.exe" -Recurse | Select Directory,Name | sort Name,Directory
$csc = Get-ChildItem $n.FullName -Filter "*csc.exe" -Recurse | Select Directory,Name | sort Name,Directory
$jsc = Get-ChildItem $n.FullName -Filter "*jsc.exe" -Recurse | Select Directory,Name | sort Name,Directory
$ngen = Get-ChildItem $n.FullName -Filter "*ngen.exe" -Recurse | Select Directory,Name | sort Name,Directory
$cp = $vbc + $csc + $jsc + $ngen
$cp
# get compiler
$a = New-Object System.Collections.ArrayList
foreach($row in $cp){
if(-Not ( $a.Contains($row.Name))) {
$tmp = $a.Add( $row.Name)
}
}
# get version
$b = New-Object System.Collections.ArrayList
foreach($row in $cp){
if(-Not ( $b.Contains($row.Directory.FullName))) {
$tmp = $b.Add( $row.Directory.FullName)
}
}
$a
$b
$cp
Sample output look like below
=============================================
PS C:\Program Files> $a
vbc.exe
csc.exe
jsc.exe
ngen.exe
PS C:\Program Files> $b
C:\windows\Microsoft.NET\Framework\v2.0.50727
C:\windows\Microsoft.NET\Framework\v3.5
C:\windows\Microsoft.NET\Framework\v4.0.30319
PS C:\Program Files> $cp
Directory Name
--------- ----
C:\windows\Microsoft.NET\Framework\v2.0.50727 vbc.exe
C:\windows\Microsoft.NET\Framework\v3.5 vbc.exe
C:\windows\Microsoft.NET\Framework\v4.0.30319 vbc.exe
C:\windows\Microsoft.NET\Framework\v2.0.50727 csc.exe
C:\windows\Microsoft.NET\Framework\v3.5 csc.exe
C:\windows\Microsoft.NET\Framework\v4.0.30319 csc.exe
C:\windows\Microsoft.NET\Framework\v2.0.50727 jsc.exe
C:\windows\Microsoft.NET\Framework\v4.0.30319 jsc.exe
C:\windows\Microsoft.NET\Framework\v2.0.50727 ngen.exe
C:\windows\Microsoft.NET\Framework\v4.0.30319 ngen.exe
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment