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, 3931 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
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(11)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
Windows 10
Windows für Privatanwender "nicht mehr handhabbar" (26)

Frage von FA-jka zum Thema Windows 10 ...

LAN, WAN, Wireless
Brauche Hilfe: Mit (schnellem) WLAN Strecke überbrücken (23)

Frage von pierrehansen zum Thema LAN, WAN, Wireless ...

Backup
Backup Wochen- Monats- Jahressicherung (13)

Frage von Meterpeter zum Thema Backup ...