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, 1800 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 ..
Neuester Wissensbeitrag
Ähnliche Inhalte
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 ...

Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von Markus5579 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
DSL, VDSL
gelöst DSL 200m verlängern (15)

Frage von Angela44 zum Thema DSL, VDSL ...

LAN, WAN, Wireless
Per Script auf UniFi-controller zugreifen und WPA2-Key ändern (11)

Frage von Winfried-HH zum Thema LAN, WAN, Wireless ...

Windows Server
SBS 2011 Standard virtualisieren (11)

Frage von HeinrichM zum Thema Windows Server ...

Exchange Server
gelöst DHCP Sever MS Server 2012 Problem (10)

Frage von Florian86 zum Thema Exchange Server ...