Top-Themen

Aktuelle Themen (A bis Z)

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

Zahl am Ende einer Variable hochzählen und dann neu befüllen

Frage Entwicklung Batch & Shell

Mitglied: el3ment

el3ment (Level 1) - Jetzt verbinden

14.06.2012 um 12:20 Uhr, 3630 Aufrufe, 6 Kommentare

Hallo, ich möchte mit der Batch Datei auf mehreren Rechnern prüfen ob es eine bestimmte Datei gibt.
Dabei habe ich das Problem, dass die Variable "rechner" immer nur rechner_1, rechner_2 usw. ist und nicht der rechnername welcher oben definiert ist. ist denke ich nichts großes aber ich komme einfach nicht darauf.

01.
@echo off 
02.
set count=1 
03.
set rechneranzahl=4 
04.
 
05.
set dateipfad=c$\Programme\sap\saplogon.ini 
06.
set rechner_1=rechnername_bli 
07.
set rechner_2=rechnername_bla 
08.
set rechner_3=rechnername_blubb 
09.
 
10.
 
11.
:loop 
12.
set rechner=rechner_%count% 
13.
 
14.
IF EXIST "\\%rechner%\%dateipfad%" (echo %time%: %rechner%: Datei vorhanden  >> c:\temp\log.log) ELSE (echo %time%: %rechner%: Datei nicht vorhanden >> c:\temp\log.log) 
15.
 
16.
set /a COUNT=%COUNT%+1 
17.
if (%COUNT%) == (%rechneranzahl%) goto END 
18.
goto loop 
19.
 
20.
 
21.
:end
Mitglied: bastla
14.06.2012, aktualisiert um 13:24 Uhr
Hallo el3ment und willkommen im Forum!

Versuch mal folgende Zeile 12:
call set "rechner=%%rechner_%count%%%"
Außerdem genügt als Zeile 16
set /a count+=1
Grüße
bastla
Bitte warten ..
Mitglied: el3ment
14.06.2012, aktualisiert um 14:47 Uhr
vielen dank, allerdings wird so auch nur %rechner_1% ausgegeben.

danke für den hinweis!
Bitte warten ..
Mitglied: bastla
14.06.2012, aktualisiert um 15:37 Uhr
Hallo el3ment!

Kann ich nicht nachvollziehen ...

Gemeint hatte ich jedenfalls (noch leicht adaptiert):
01.
@echo off & setlocal 
02.
set /a count=1 
03.
set /a arechneranzahl=3 
04.
 
05.
set "dateipfad=c$\Programme\sap\saplogon.ini" 
06.
set "rechner_1=rechnername_bli" 
07.
set "rechner_2=rechnername_bla" 
08.
set "rechner_3=rechnername_blubb" 
09.
 
10.
 
11.
:loop 
12.
call set "rechner=%%rechner_%count%%%" 
13.
 
14.
IF EXIST "\\%rechner%\%dateipfad%" (echo %time%: %rechner%: Datei vorhanden  >> c:\temp\log.log) ELSE (echo %time%: %rechner%: Datei nicht vorhanden >> c:\temp\log.log) 
15.
 
16.
set /a count+=1 
17.
if %count% leq %rechneranzahl% goto :loop
Grüße
bastla
Bitte warten ..
Mitglied: el3ment
14.06.2012 um 15:40 Uhr
hatte den call Befehl nicht übernommen, der war es wohl!

Klasse, funktionier!

Vielen Dank!!!!
Bitte warten ..
Mitglied: bastla
14.06.2012, aktualisiert um 15:49 Uhr
Hallo el3ment!

Freut mich ...

BTW: Von diesem "Pseudo-Array" mit indizierten Variablen halte ich übrigens eher wenig - das ließe sich (da ja ohnehin alle Rechner durchlaufen werden sollen) mit einer "for"-Schleife eleganter lösen, wobei die Rechner entweder in einer eigenen Textdatei aufgelistet werden oder (im Stil von Ur-Basic-DATA-Zeilen) auch im Batch selbst stehen könnten:
01.
@echo off & setlocal 
02.
set "dateipfad=c$\Programme\sap\saplogon.ini" 
03.
set "log=c:\temp\log.log" 
04.
 
05.
::DATA rechnername_bli 
06.
::DATA rechnername_bla 
07.
::DATA rechnername_blubb 
08.
 
09.
for /f "tokens=1*" %%i in ('findstr /b "::DATA" "%~f0"') do call :ProcessComputer "%%j" 
10.
goto :eof 
11.
 
12.
:ProcessComputer 
13.
(if  exist "\\%~1\%dateipfad%" ( 
14.
    echo %time%: %rechner%: Datei vorhanden 
15.
) ELSE ( 
16.
    echo %time%: %rechner%: Datei nicht vorhanden 
17.
))>>"%log%" 
18.
goto :eof
Grüße
bastla
Bitte warten ..
Mitglied: el3ment
14.06.2012 um 16:07 Uhr
Wow, bin begeistert!

Habe davon ehrlich gesagt keine Ahnung, wollte einfach nur schnell ein kleines Script haben und nich manuel auf jeden Rechner einzeln schauen... :D

Das sieht natürlich professionell aus...
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
In Batchdatei Variablen befüllen - mit Werten aus einer TXT-Datei
gelöst Frage von donnyS73lbBatch & Shell6 Kommentare

Hallo zusammen, ich möchte fragen, ob es - wie bspw. bei VBScript - auch mit einer Batchdatei möglich ist, ...

Installation
BATCH Variable aus .txt Datei ohne Leerzeichen am Ende
Frage von MarciMarc85Installation3 Kommentare

Hallo, Ich hab ein problem und finde einfach nicht den richtigen Lösungsweg. eine Software hat mehrere Windows Dienste, die ...

Batch & Shell
Variable mit mehreren Werten durch eine Zahl teilen - Linux
gelöst Frage von lapvikaBatch & Shell2 Kommentare

Hallo zusammen, einer Variablen werden mehrere Werte (Zahlen) zugewiesen. Ich möchte nun all diese Werte (Zahlen) die der Variablen ...

Microsoft Office
Excel VBA Wert hochzählen
gelöst Frage von Florian86Microsoft Office1 Kommentar

Hallo, ich habe im VBA Code folgendes stehen Range("E10") = Range("E10") + 1 Jetzt ist der Wert bei schon ...

Neue Wissensbeiträge
Mac OS X

MacOS wo ist die Tilde ?

Tipp von Alchimedes vor 10 StundenMac OS X1 Kommentar

Hallo, ich hab eine MacOS qwertz Keyboard auf US Layout umgestellt da die Sonderzeichen besser erreichbar sind. Leider fehlt ...

Datenschutz

Weitere Informationen zum Sicherheitsproblem BeA

Information von Penny.Cilin vor 17 StundenDatenschutz

Im folgenden ein weiterer Bericht über die Sicherheitsprobleme von Bea. Fataler Konstruktionsfehler im besonderen elektronischen Anwaltspostfach Gruss Penny

Windows 10

Systemdienste behalten nach Win10 inplace-Upgrade nicht die ggf. modifizierte Startart bei

Tipp von DerWoWusste vor 19 StundenWindows 103 Kommentare

Stellt Euch vor, Ihr habt ein Win10 System und modifiziert dort die Startart von Systemdiensten. Zum Beispiel wollt Ihr ...

Microsoft Office

Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei

Anleitung von SarekHL vor 22 StundenMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...

Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von fyrb38Windows 1018 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...

Microsoft Office
Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei
Anleitung von SarekHLMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...