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, 1790 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
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ä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
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (14)

Frage von liquidbase zum Thema Windows Update ...