Batch IF Exist file dann Auswahl als Variable anzeigen
Hallo liebe Leute,
ich wollte mir in meinem Skript eine kleine IF Anweisung einbauen. Ich bräuchte noch einmal einen kleinen Wink von euch.
Ich wollte eine selektive Auswahl von Netzwerkdrucker anzeigen lassen wenn die *.inf Datei auf dem Server verfügbar ist.
Quasi so:
if exist "\\Server\Treiber\Brother\brother.inf (vorhanden)
if exist "\\Server\Treiber\Samsung\samsung.inf (nicht vorhanden)
if exist "\\Server\Treiber\HP\hp.inf (vorhanden)
echo Auswahl
(1) Brother
(2) HP
so viel zur Theorie, bei der Umsetzung stehe ich noch ein wenig auf dem Schlauch. Vielleicht könnt ihr mir ja weiterhelfen.
Danke schonmal im Voraus.
beste Grüße
Termiman
ich wollte mir in meinem Skript eine kleine IF Anweisung einbauen. Ich bräuchte noch einmal einen kleinen Wink von euch.
Ich wollte eine selektive Auswahl von Netzwerkdrucker anzeigen lassen wenn die *.inf Datei auf dem Server verfügbar ist.
Quasi so:
if exist "\\Server\Treiber\Brother\brother.inf (vorhanden)
if exist "\\Server\Treiber\Samsung\samsung.inf (nicht vorhanden)
if exist "\\Server\Treiber\HP\hp.inf (vorhanden)
echo Auswahl
(1) Brother
(2) HP
so viel zur Theorie, bei der Umsetzung stehe ich noch ein wenig auf dem Schlauch. Vielleicht könnt ihr mir ja weiterhelfen.
Danke schonmal im Voraus.
beste Grüße
Termiman
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 238888
Url: https://administrator.de/contentid/238888
Ausgedruckt am: 06.11.2024 um 01:11 Uhr
4 Kommentare
Neuester Kommentar
Hi Temiman
ich bin jetzt nicht so der Skriptingprofi ! aber vielleicht hilft dir folgender Ansatz weiter...
Es handelt sich um eine VBS-Datei
Gruß Alex
ich bin jetzt nicht so der Skriptingprofi ! aber vielleicht hilft dir folgender Ansatz weiter...
Es handelt sich um eine VBS-Datei
DIM fso
Set fso = CreateObject("Scripting.FileSystemObject")
If (fso.FileExists("\\Server\Treiber\Brother\brother.inf")) Then
WScript.Echo("File exists!")
WScript.Quit()
Else
WScript.Echo("File does not exist!")
End If
WScript.Quit()
Gruß Alex
Nabend,
bitte Code-Tags benutzen: vor den code <"code"> und hinter den Code <"/code"> ohne die "".
Du brauchst ja nach einer If-Anweisung auch eine Anweisung...
Wenn Datei xx existiert DANN mache dieses oder jenes. Bei Batches wird das einfach hinten dran "gepappt"
Bei dieser Form hast du allerdings ein Problem: Es wird so nicht funktionieren. Warum?
Beispiel: Alle oben angegebenen Dateien sind vorhanden. Du bastelst dir also eine If-Anweisung in der es heißt:
Super, klappt.
Nun ist aber die Samsung nicht vorhanden, aber davon weiß deine If Anweisung nichts. Also würde es sich alles verschieben. Dann wäre HP plötzlich auf der 2, aber du hast ja im code %auswahl%==2 blabla Samsung
Also bliebe dir nur folgendes: Entweder du codierst die Zahlen fest - dann würde das Menü unter Umständen mit (3) HP anfangen, wenn die anderen nicht vorhanden sind, aber dann wäre sicher gestellt, dass er auch auf blabla HP zugreift.
Oder du benutzt Buchstaben z.b. B=Brother; S=Samsung; H=HP und änderst die IF Anweisung dann ab in:
Ich jedenfalls wüsste um die Zeit nicht wie man ein variables Batchmenü erstellt
z.b.
Das hier ist allerdings absolut ohne irgendwelche Fehlerabfragen. Also kann er aktuell natürlich auch 2 schreiben, auch wenn 2 nicht angezeigt wird. Musst du dir dann was zusammen basteln.
Gute Nacht
bitte Code-Tags benutzen: vor den code <"code"> und hinter den Code <"/code"> ohne die "".
if exist "\\Server\Treiber\Brother\brother.inf (vorhanden)
if exist "\\Server\Treiber\Samsung\samsung.inf (nicht vorhanden)
if exist "\\Server\Treiber\HP\hp.inf (vorhanden)
echo Auswahl
(1) Brother
(2) HP
Du brauchst ja nach einer If-Anweisung auch eine Anweisung...
Wenn Datei xx existiert DANN mache dieses oder jenes. Bei Batches wird das einfach hinten dran "gepappt"
@echo off
set count=0
if exist "\\Server\Treiber\Brother\brother.inf" set /a count=%count%+1 && echo (%count%) Brother
if exist "\\Server\Treiber\Samsung\samsung.inf" set /a count=%count%+1 && echo (%count%) Samsung
if exist "\\Server\Treiber\HP\hp.inf" set /a count=%count%+1 && echo (%count%) HP
set /p auswahl=Bitte waehlen:
Bei dieser Form hast du allerdings ein Problem: Es wird so nicht funktionieren. Warum?
Beispiel: Alle oben angegebenen Dateien sind vorhanden. Du bastelst dir also eine If-Anweisung in der es heißt:
if %auswahl%==1 blabla Brother
if %auswahl%==2 blabla Samsung
if %auswahl%==3 blabla HP
Nun ist aber die Samsung nicht vorhanden, aber davon weiß deine If Anweisung nichts. Also würde es sich alles verschieben. Dann wäre HP plötzlich auf der 2, aber du hast ja im code %auswahl%==2 blabla Samsung
Also bliebe dir nur folgendes: Entweder du codierst die Zahlen fest - dann würde das Menü unter Umständen mit (3) HP anfangen, wenn die anderen nicht vorhanden sind, aber dann wäre sicher gestellt, dass er auch auf blabla HP zugreift.
Oder du benutzt Buchstaben z.b. B=Brother; S=Samsung; H=HP und änderst die IF Anweisung dann ab in:
if %auswahl%==B blabla Brother
if %auswahl%==S blabla Samsung
if %auswahl%==H blabla HP
Ich jedenfalls wüsste um die Zeit nicht wie man ein variables Batchmenü erstellt
z.b.
@echo off
if exist "brother.inf" echo (1) Brother
if exist "samsung.inf" echo (2) Samsung
if exist "hp.inf" echo (3) HP
set /p auswahl=Bitte waehlen:
if %auswahl%==1 echo Brother
if %auswahl%==2 echo Samsung
if %auswahl%==3 echo HP
REM oder===========================================
if exist "brother.inf" echo (B) Brother
if exist "samsung.inf" echo (S) Samsung
if exist "hp.inf" echo (H) HP
set /p auswahl=Bitte waehlen:
if /I "%auswahl%"=="B" echo Brother
if /I "%auswahl%"=="S" echo Samsung
if /I "%auswahl%"=="H" echo HP
Das hier ist allerdings absolut ohne irgendwelche Fehlerabfragen. Also kann er aktuell natürlich auch 2 schreiben, auch wenn 2 nicht angezeigt wird. Musst du dir dann was zusammen basteln.
Gute Nacht