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

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ä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 ...

Outlook & Mail
Outlook 2010 Userprofile Foto anzeigen lassen (2)

Frage von staybb zum Thema Outlook & Mail ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

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 (17)

Frage von liquidbase zum Thema Windows Update ...

Windows Tools
gelöst Aussendienst Datensynchronisierung (12)

Frage von lighningcrow zum Thema Windows Tools ...