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

Bei jedem fünften Start eine zusätzliche Zeile ausführen lassen?

Frage Entwicklung Batch & Shell

Mitglied: WieselOh

WieselOh (Level 1) - Jetzt verbinden

18.04.2009, aktualisiert 14:51 Uhr, 3927 Aufrufe, 4 Kommentare

Hallo,
ich habe eine Batch-Datei, die ich gerne etwas abändern möchte.
Leider kenne ich mich damit nicht so gut aus und möchte mich bei euch erkundigen, ob ihr dafür vielleicht eine Lösung kennt.

Und zwar soll eine Batch-Datei bei jedem fünften Start, eine zusätzliche Scriptzeile ausführen.

An eine Schleife habe ich schon gedacht...
Aber das funktioniert ja nicht, weil die Batch zu unterschiedlichen Zeiten neu gestartet wird.


Hättet ihr vielleicht eine Idee?

Gruß
WieselOh
Mitglied: ITLocke
18.04.2009 um 15:22 Uhr
Hi,

ich bin zwar auch nicht so bewandert, was Batch-Dateien angeht,
aber ich würde mir einen Counter aus einer Datei einlesen und falls er kleiner 5 ist ihn hochzählen.
Wenn er dann 5 ist, führst du deine zusätzliche Zeile aus und setzt den Counter einfach wieder auf null.
Hoffe es ist hilfreich.

Gruß Locke
Bitte warten ..
Mitglied: WieselOh
18.04.2009 um 15:45 Uhr
Dankeschön ITLocke.
Ich habe mal danach gegoogelt und etwas brauchbares gefunden *glaube ich*.

01.
rem - Script-Anfang: Erstellt die Counter-Datei 
02.
if not exist "counter.txt" set /a counter=0 
03.
for /f %%i in (counter.txt) do set /a counter=%%i 
04.
 
05.
- Mein Script - 
06.
 
07.
rem - Script-Ende: Erhoet den Counter um 1 und setzt ihn bei 5 zurueck 
08.
set /a counter=counter+1 
09.
if %counter%==5 set /a counter=0 
10.
echo %counter% > counter.txt
Aber was mir nicht ganz klar ist, wie verküpfe ich das mit der zusätzlichen Zeile?
Gibt es einen Befehl in der art:
01.
if %counter%==1,2,3,4 goto weiter 
02.
- Zusätzliche Script-Zeile - 
03.
:weiter
Und dadurch soll die Zeile einfach übersprungen werden.
Ist sowas möglich oder ist etwas anderes empfehlenswert?


Gruß
WieselOh
Bitte warten ..
Mitglied: bastla
18.04.2009 um 15:55 Uhr
Hallo WieselOh und willkommen im Forum, hallo ITLocke!

Die Umsetzung des Vorschlages (dem ich mich anschließe) von ITLocke könnte so erfolgen:
01.
@echo off & setlocal 
02.
set "Counter=D:\Counter.txt" 
03.
 
04.
if exist "%Counter%" ( 
05.
    set /p Count=<"%Counter%" 
06.
) else ( 
07.
    set Count=0 
08.
09.
set /a Count+=1 
10.
if %Count% gtr 4 set Count=0 
11.
>"%Counter%" echo %Count% 
12.
 
13.
if %Count%==1 echo Zeile wird ausgefuehrt ...
Als alternative Formulierung (zum Überspringen der zusätzlichen Zeile) käme in Frage:
01.
if %Count% neq 1 goto :Weiter 
02.
echo Zeile wird ausgefuehrt ... 
03.
:Weiter
Grüße
bastla

[Edit] So langsam habe ich ja schon lange nicht geschrieben ... [/Edit]
Bitte warten ..
Mitglied: WieselOh
18.04.2009 um 17:14 Uhr
Aller besten Dank!
Das Script funktioniert super und ich bin total happy


Gruß
WieselOh
Bitte warten ..
Neuester Wissensbeitrag
Exchange Server

WSUS bietet CU22 für Exchange 2007 SP3 nicht an. EOL Exchange 2007

Tipp von DerWoWusste zum Thema Exchange Server ...

Ähnliche Inhalte
Windows Systemdateien
gelöst Remoteregistry nur von Domänenadmins ausführen lassen (3)

Frage von M.Marz zum Thema Windows Systemdateien ...

Windows Server
Batch Script bei Start ausführen (3)

Frage von KEFHVDI zum Thema Windows Server ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Batch xls nach aktuellem Datum auslesen und email senden (14)

Frage von michi-ffm zum Thema Batch & Shell ...

Windows Server
SBS 2011 Standard virtualisieren (13)

Frage von HeinrichM zum Thema Windows Server ...

Backup
Datensicherung ARCHIV (12)

Frage von fautec56 zum Thema Backup ...

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

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