tumani
Goto Top

Skript für Laufwerkssuche kürzen

Guten Morgen,


habe da ein kleines Problem mit meinen Skript.
Ich bin mir zwar sicher das man das eventuell mit einer "For" Schleife machen könnte
aber bei dem "wie" komme ich nicht weiter bezw. fehlt mir dazu wohl leider das nötige
Hintergrundwissen.

Das Skript funktioniert soweit.
Kann man aber mit Sicherheit auch ein wenig kürzer gestalten.


Hier mal ein teil des Skrips:
@echo off
cls

cd skripte
Dready C 
if  %errorlevel% ==0 goto c0
if  %errorlevel% ==2 goto d
if  %errorlevel% ==255 goto d
:c0
echo C>lwg.txt
goto d

:d
Dready D
if  %errorlevel% ==0 goto d0
if  %errorlevel% ==2 goto e
if  %errorlevel% ==255 goto e
:d0
echo D>>lwg.txt
goto e

:e
Dready E
if  %errorlevel% ==0 goto e0
if  %errorlevel% ==2 goto f
if  %errorlevel% ==255 goto f
:e0
echo E>>lwg.txt
goto f
..........................u.s.w
:z
Dready Z
if  %errorlevel% ==0 goto z0
if  %errorlevel% ==2 goto weiter
if  %errorlevel% ==255 goto weiter
:z0
echo Z>>lwg.txt
goto weiter


:weiter
exit
ein Auszug aus der Readmy DREADY von Horst Schaeffer:
Ist Freeware hoffe mal das es hier nicht als Werbung angesehen wird.
Syntax:   DREADY Laufwerk [/W]

Bei /W wird zusätzlich geprüft, ob das Laufwerk "READY to WRITE" ist.

Errorlevel:   0     ok, Laufwerk bereit, Medium lesbar
                             (bei Option /W auch beschreibbar)

                      1     Medium ist READ ONLY (nur bei Option /W)

                      2     Laufwerk nicht bereit bzw. Medium nicht lesbar

                      255   ungueltiger Laufwerksbuchstabe
Der Grund warum ich das mit DREADY mache ist, das dabei keine Fehlermeldung von Windows kommt bei leeren Laufwerken ( Wechselmedien).
Da ich dieses wohl auch in Zukunft mal Nutzen werde, wäre es schon schön wenn man das ein wenig kürzen könnte.
Wäre eventuell jemand von euch bereit mir das mal aufzubröseln ?


MfG
tumani

Content-Key: 110764

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

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

Member: H41mSh1C0R
H41mSh1C0R Mar 07, 2009 at 08:56:22 (UTC)
Goto Top
Zitat von @tumani:
... Das Skript funktioniert soweit.

Wieso an dem Script was verändern, wenn es funktioniert?
Nur um das Rad neu zu erfinden?
Member: tumani
tumani Mar 07, 2009 at 09:04:51 (UTC)
Goto Top
Guten Morgen H41mSh1C0R,

Das macht es aber zum einen recht unübersichtlich und zum anderen möchte ich dies auch auf andere Scripte Anwenden evt. auch mit anderen Anwendungen als mit DREADY.
Naja, ist in diesem Fall wohl nen Riesenrad was zwar funktioniert aber nicht anwenderfreundlich ist


MfG
tumani
Member: miniversum
miniversum Mar 07, 2009 at 09:56:10 (UTC)
Goto Top
Mit For geht das dann so:
...
for %%L in (c d e f g h i j k l m n o p q r s t u v w x y z) do call:check %%L
...
:check
Dready %%L 
if  %errorlevel% ==0 echo %%L>>lwg.txt

oder in einer Zeile:
for %%L in (c d e f g h i j k l m n o p q r s t u v w x y z) do Dready %%L && echo %%L>>lwg.txt

Wenn du dir dieses Dready noch einsparen willst dann geht das z.B. so:
for %%L in (c d e f g h i j k l m n o p q r s t u v w x y z) do dir %%L: >NUL 2>NUL && echo %%L>>lwg.txt
oder so:
for %%L in (c d e f g h i j k l m n o p q r s t u v w x y z) do if exist %%L: echo %%L>>lwg.txt
Member: tumani
tumani Mar 07, 2009 at 10:13:30 (UTC)
Goto Top
Guten Morgen miniversum,


hatte ich wohl ein wenig zu schnell auf gelöst geklickt.
War meine Antwort auch direkt weg.
Wollte mich noch bei dir Bedanken für die schnelle und mehr als gute Hilfe.
Hast mir wohl so ziemlich jede Möglichkeit gegeben das jetzt umsetzen zu können.
Werde es mal ausgiebig Testen. Da dieses wohl länger dauern kann setze ich das mal auf gelöst.

Edit: Habe den ein Zeiler mit DREADY genommen, geht einwandfrei, da bei der reinen Batch Lösung wieder der Fehler mit den Wechsellaufwerk auftrat.


Wünsche noch ein schönes Wochenende

MfG
Member: miniversum
miniversum Mar 07, 2009 at 10:45:25 (UTC)
Goto Top
Fast alle Möglichkeiten..
Was du noch machen könntest wäre die Benutzung von WMIC:
FOR /F "skip=1 delims=:" %%i in ('wmic LOGICALDISK get Name') do echo %%i>>lwg.txt  
Das funktioniert dan auch mit Wechseldatenträgern. Ein durchtesten alles Buchstaben ist so nicht notwendig.