cadsys
Goto Top

Fehlermeldung nach Suchabfrage

Ich benutze das folgende Script zum auslesen der Version einer Software.


FOR /F "tokens=1,2,3 delims=," %%A IN ('"WMIC product where (Name='Autodesk Inventor Professional 2008') get name,version /FORMAT:csv"') DO (

set Program08=%%B

set Version08=%%C

)


ECHO %Program% , %Version% ist installiert.


Wenn die Software die vorgegeben ist nicht installiert ist auf dem jeweiligen Rechner, wird sie automatisch installiert.

Das funktioniert auch alles nur wird bei der Abfrage oben wenn die SOftware nicht installiert ist die Fehlermeldung "Keine Instanzen verfügbar." angezeigt.


Wie kann ich diese Fehlermeldung unterbinden?


geht es überhaupt?

Da ich ein Grafisches Menü erstellt habe stört diese meldung schon erheblich.

Content-Key: 105579

Url: https://administrator.de/contentid/105579

Printed on: April 18, 2024 at 19:04 o'clock

Member: Biber
Biber Jan 09, 2009 at 12:00:06 (UTC)
Goto Top
Moin CADSYS,

in diesem Fall solltest Du die WMIC-Ausgabe erst in eine Datei umleiten und erst danach nur bei Erfolg diese Datei per FOR/F-Anweisung durchflöhen.
Wenn die WMIC-Abfrage ins Mett haut, dann wird
  • über STDERR/Fehlerkanal 2 die Meldung "keine instanzen verfügbar." ausgegeben und
  • über STDOUT/Konsole frag-mich-nicht-warum als UNICODE-String eine Leerzeile gefolgt von dem sinnfreien Fragment "Node,".
*kopfschüttel kopfschüttel kopfschüttel*

ich würde mit diesem Redmonder Praktikantenpfusch so umgehen:
...
REM Ausgabe (ohne Fehlerkanal) in temporäre Datei schreiben
WMIC product where (Name='Autodesk Inventor Professional 2008') get name,version /FORMAT:csv 2>nul >%temp%\wmic.log  
REM Falls nicht installiert, wird im Unicode-Format geschrieben, deshalb der TYPE
type %temp%\wmic.log|findstr /c:"Node,">nul && goto :IsNichInstalliert  
REM Falls "Node," in der WMIC.log gefunden wurde, Sprung nach ":IsNichInstalliert"  

FOR /F "tokens=1,2,3 delims=," %%A IN ('type %temp%\WMIC.log') DO (  
    set Program08=%%B
    set Version08=%%C 
   REM  ....and whatever to do 
)
goto :finished

:IsNichInstalliert
REM whatever to do
[ungetestete Skizze]

Grüße
Biber