66 Stimmen

Gibt es einen Befehlszeilenbefehl, um zu überprüfen, welche Version von .NET installiert ist?

Ich habe eine Reihe von Skripten für skriptgesteuerte Installationen. Sie können die Skripte auf jedem Server 2008-Rechner verwenden. Ich muss jedoch mit einer Dos-Batch-Datei überprüfen, ob .NET 3.5 installiert wurde (bevor die Skripte ausgeführt werden). Ist das möglich?

Ich weiß, dass ich prüfen kann, ob eine Datei in der C:\WINDOWS\Microsoft.NET\Framework\v3.5 existiert, aber es wäre schön, etwas Zuverlässigeres zu haben.

Ich möchte überprüfen, ob es tatsächlich installiert ist, und nicht nur, ob das Verzeichnis/die Datei existiert.

Danke

0voto

user3237950 Punkte 36

REM Suchen Sie nach der CONFIG-Datei. Wenn diese nicht erscheint, hat der Benutzer nicht das .Net-Framework 2.0 `

SET FileName=%windir%\Microsoft.NET\Framework\v2.0.50727\CONFIG
IF EXIST %FileName% GOTO INSTALL_DIALER
ECHO.You currently do not have the Microsoft(c) .NET Framework 2.0 installed.

0voto

JRobParsons Punkte 11

Das funktioniert bei mir:

@echo off
SETLOCAL ENABLEEXTENSIONS

echo Verify .Net Framework Version

for /f "delims=" %%I in ('dir /B /A:D %windir%\Microsoft.NET\Framework') do (
    for /f "usebackq tokens=1,3 delims= " %%A in (`reg query "HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\%%I" 2^>nul ^| findstr Install`) do (
        if %%A==Install (
            if %%B==0x1 (
                echo %%I
            )
        )
    )
)

echo Do you see version v4.5.2 or greater in the list?

pause

ENDLOCAL 

El 2^>nul leitet Fehler nach vapor um.

0voto

npocmaka Punkte 52753

Können Sie die installierten c#-Compiler und die gedruckte Version von .net überprüfen:

@echo off

for /r "%SystemRoot%\Microsoft.NET\Framework\" %%# in ("*csc.exe") do (
    set "l="
    for /f "skip=1 tokens=2 delims=k" %%$ in ('"%%# #"') do (
        if not defined l (
            echo Installed: %%$
            set l=%%$
        )
    )
)

echo latest installed .NET %l%

die csc.exe nicht über eine -version Schalter, aber er druckt die .net-Version in seinem Logo. Sie können auch mit msbuild.exe versuchen, aber .net framework 1.* hat keine msbuild.

-2voto

Können Sie sich diese Seite für .NET 4 ansehen: http://www.itninja.com/question/batch-script-to-check-and-install-dotnet4-0

CodeJaeger.com

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.

Powered by:

X