anmelder
Goto Top

Meldungen in FOR f Schleife nach NUL umleiten

Hallo,

dieser Code gibt mir aus ob ein Flashspeicher vorliegt und gelöscht oder formatiert werden soll:

SET Suche=H:
SET Flash="Nein"  

FOR /f "TOKENS=1* DELIMS==" %%i IN ('wmic logicaldisk where "DRIVETYPE='2'" GET deviceid /VALUE') DO (  
 FOR /f "DELIMS=" %%k in ("%%j") DO (  
  IF !Suche! EQU %%k SET Flash="Ja"  
 )
)
echo Flashspeicher: !Flash!

Wenn kein Flashspeicher vorliegt wird eine hässliche Meldung: "Keine Instanz verfügbar" ausgegeben. Bei DOS Befehlen könnte ich die Meldung mit >NUL ausblenden. An welcher Stelle muß ich die Umleitung einblenden? Irgendwie funktioniert alles nichts.

Content-Key: 353328

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

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

Member: rubberman
Solution rubberman Oct 31, 2017 at 13:22:30 (UTC)
Goto Top
Fehlermeldungen werden mit 2>nul umgeleitet. In der FOR /F Schleife ist das > noch zu maskieren.
FOR /f "TOKENS=1* DELIMS==" %%i IN ('2^>nul wmic logicaldisk where "DRIVETYPE='2'" GET deviceid /VALUE') DO (  
Steffen
Member: anmelder
anmelder Oct 31, 2017 at 13:41:18 (UTC)
Goto Top
Danke, läuft
Member: Penny.Cilin
Penny.Cilin Nov 01, 2017 updated at 08:38:50 (UTC)
Goto Top
Hallo,

auch wenn der Beitrag bereits gelöst ist, eine unbekannte gibt es noch.
Du setzt für den Flashspeicher IMMER Laufwerk H:
SET SUCHE=H:
.

Wäre es nicht sinnvoll, dies variabler zu gestalten?

Nur mal so als Anregung.

Gruss Penny
Member: anmelder
anmelder Nov 04, 2017 at 18:29:46 (UTC)
Goto Top
Das ist sicher so nicht sinnvoll. Aber es handelte sich um ein Testbeispiel, im Code ist die Variable des vom Nutzer ausgewählten Laufwerkes.