Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Batch IF Exist file dann Auswahl als Variable anzeigen

Frage Entwicklung Batch & Shell

Mitglied: Termiman

Termiman (Level 1) - Jetzt verbinden

22.05.2014, aktualisiert 23.05.2014, 1815 Aufrufe, 4 Kommentare, 3 Danke

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

Mitglied: Alex-123
LÖSUNG 22.05.2014, aktualisiert 23.05.2014
Hi Temiman

ich bin jetzt nicht so der Skriptingprofi ! aber vielleicht hilft dir folgender Ansatz weiter...

Es handelt sich um eine VBS-Datei

01.
DIM fso     
02.
Set fso = CreateObject("Scripting.FileSystemObject") 
03.
 
04.
If (fso.FileExists("\\Server\Treiber\Brother\brother.inf")) Then 
05.
  WScript.Echo("File exists!") 
06.
  WScript.Quit() 
07.
Else 
08.
  WScript.Echo("File does not exist!") 
09.
End If 
10.
 
11.
WScript.Quit()
Gruß Alex
Bitte warten ..
Mitglied: Termiman
22.05.2014 um 14:43 Uhr
Hey Alex,

erst einmal vielen Dank für deinen Lösungsversuch. Mit VBS kenne ich mich nicht aus, werde deshalb weiter versuchen es mit batch zu lösen.

Aber vielen Dank für deine Hilfe

bG
Bitte warten ..
Mitglied: Xaero1982
23.05.2014, aktualisiert um 01:59 Uhr
Nabend,

bitte Code-Tags benutzen: vor den code <"code"> und hinter den Code <"/code"> ohne die "".

01.
if exist "\\Server\Treiber\Brother\brother.inf (vorhanden) 
02.
if exist "\\Server\Treiber\Samsung\samsung.inf (nicht vorhanden) 
03.
if exist "\\Server\Treiber\HP\hp.inf (vorhanden) 
04.
 
05.
 echo Auswahl 
06.
 
07.
 (1) Brother 
08.
 (2) HP 
09.
 
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"

01.
@echo off 
02.
 
03.
set count=0 
04.
 
05.
if exist "\\Server\Treiber\Brother\brother.inf" set /a count=%count%+1 && echo (%count%) Brother 
06.
if exist "\\Server\Treiber\Samsung\samsung.inf" set /a count=%count%+1 && echo (%count%) Samsung 
07.
if exist "\\Server\Treiber\HP\hp.inf" set /a count=%count%+1 && echo (%count%) HP 
08.
 
09.
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:
01.
if %auswahl%==1 blabla Brother 
02.
if %auswahl%==2 blabla Samsung 
03.
if %auswahl%==3 blabla HP 
04.
 
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:

01.
if %auswahl%==B blabla Brother 
02.
if %auswahl%==S blabla Samsung 
03.
if %auswahl%==H blabla HP 
04.
 
Ich jedenfalls wüsste um die Zeit nicht wie man ein variables Batchmenü erstellt

z.b.

01.
 
02.
@echo off 
03.
 
04.
if exist "brother.inf" echo (1) Brother 
05.
if exist "samsung.inf"  echo (2) Samsung 
06.
if exist "hp.inf" echo (3) HP 
07.
 
08.
set /p auswahl=Bitte waehlen:  
09.
 
10.
if %auswahl%==1 echo Brother 
11.
if %auswahl%==2 echo Samsung 
12.
if %auswahl%==3 echo HP 
13.
 
14.
REM oder=========================================== 
15.
 
16.
if exist "brother.inf" echo (B) Brother 
17.
if exist "samsung.inf"  echo (S) Samsung 
18.
if exist "hp.inf" echo (H) HP 
19.
 
20.
 
21.
set /p auswahl=Bitte waehlen:  
22.
 
23.
if /I "%auswahl%"=="B" echo Brother 
24.
if /I "%auswahl%"=="S" echo Samsung 
25.
if /I "%auswahl%"=="H" echo HP 
26.
 
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 warten ..
Mitglied: Termiman
23.05.2014 um 08:31 Uhr
Hey Xaero,

man danke, der Wink war genau richtig. Manchmal ist es halt doch so einfach

Und auch vielen Dank für die ausführliche Erklärung, und das zu einer fast unmenschlichen Uhrzeit. Cool


beste Grüße

Termiman
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Batch für File extension überprüfung und listenerstellungmit Zeit und Datum (2)

Frage von watch123 zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch Abfrage Vergleiche mit Variable goto (4)

Frage von Zunaras zum Thema Batch & Shell ...

Batch & Shell
gelöst ( Batch ) Open File or Folder Dialog (5)

Frage von clragon zum Thema Batch & Shell ...

Windows 10
Batch: Copy file.txt Lokaler Drucker (1)

Frage von fluluk zum Thema Windows 10 ...

Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(7)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Heiß diskutierte Inhalte
Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Batch & Shell
gelöst Batch um Benutzer aus Sitzung abzumelden (15)

Frage von zeroblue2005 zum Thema Batch & Shell ...

Linux
gelöst Google Chrome startet nicht (12)

Frage von Thomas91 zum Thema Linux ...