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, 3932 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 ..
Ähnliche Inhalte
Windows Systemdateien
gelöst Remoteregistry nur von Domänenadmins ausführen lassen (3)

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

Microsoft Office
gelöst Office 2016 Pro Plus konfiguriert sich bei jedem Start auf Terminalserver (6)

Frage von D-Line zum Thema Microsoft Office ...

Neue Wissensbeiträge
Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(6)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
POS Hardware und alternativen zu Raid 1? (21)

Frage von Brotkasten zum Thema Festplatten, SSD, Raid ...

Windows 10
gelöst Windows 10 Home "Netzlaufwerk nicht bereit" (19)

Frage von Oggy01 zum Thema Windows 10 ...

Viren und Trojaner
Verschlüsselungstrojaner simulieren (18)

Frage von AlbertMinrich zum Thema Viren und Trojaner ...

Exchange Server
Exchange Postfach leeren - nicht löschen (11)

Frage von AndreasOC zum Thema Exchange Server ...