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

Anzahl der Durchläufe einer For Schleife zählen

Frage Entwicklung Batch & Shell

Mitglied: frank4work

frank4work (Level 1) - Jetzt verbinden

20.03.2008, aktualisiert 16:28 Uhr, 17703 Aufrufe, 6 Kommentare

Hallo zusammen,

ich hab da ein "kleines" Problem =>

innerhalb einer batch Datei werden diverse Dateien (mehr als 40000 - laufend mehr bzw weniger) innerhalb einer Verzeichnisstruktur mit einem Programm auf "Integrität" überprüft

Hier die entsprechende Zeile =>

for /R %team% %%a in (*.prt) do @idfvfy.exe -v %%a >> %ziel_log%\%xdatum%_%name_log_file%

das Ergebnis der Prüfung wird in eine log-Datei geschrieben - funktioniert gut - nur hätten wir gerne am Ende gewußt wie oft die Schleife durchlaufen wurde.

Vielleicht hat ja jemand von Euch eine Idee - Danke im voraus

Gruß

Frank
Mitglied: BKAMk2
20.03.2008 um 10:01 Uhr
Morgen Frank,

ihr könntet eine zusätzliche Variable anlegen, die den Wert "1" hat.
Nach jedem durchlauf der for-Schleife wird dann der Wert um 1 erhöht.

Wie das genau geht kann ich dir nicht sagen, aber hier im Forum dürfte das irgendwo stehen.
Such einfach mal nach Zählschleife
Bitte warten ..
Mitglied: 61319
20.03.2008 um 10:07 Uhr
Hi Frank,

das geht nicht so einfach in der gleichen for-Schleife, da die nur sich selbst abarbeitet und nicht wie in einem batch noch andere Variablen hochzählt.
Du könntest den Aufruf der idfvfy.exe also in einen batch schreiben und da auch hochzählen lassen, da immer der gesammte batch arbgearbeitet wird.

Oder, was sehr einfach wäre: Zähl doch einfach die Einträge in Deiner LOG-Datei

Gruß Niko
Bitte warten ..
Mitglied: paulepank
20.03.2008 um 10:10 Uhr
Hallo Frank,

eine mögliche Lösung:


01.
set /a sum=0 
02.
for /R %team% %%a in (*.prt) do @idfvfy.exe -v %%a >> %ziel_log%\%xdatum%_%name_log_file% & @set /a sum=sum+1 >nul 
03.
echo %sum%
cu paulepank
Bitte warten ..
Mitglied: sp00ner
20.03.2008 um 10:41 Uhr
morgen, so kanns gehen:

set zaehler = 0

for /R %team% %%a in (*.prt) do (

@idfvfy.exe -v %%a >> %ziel_log%\%xdatum%_%name_log_file%

set /a zaehler += 1

)

echo Schleife wurde %zaehler% -mal durchlaufen .>> %ziel_log%\%xdatum%_%name_log_file%
Bitte warten ..
Mitglied: frank4work
20.03.2008 um 11:04 Uhr
Hallo zusammen,
Danke für die schnelle Hilfe - der Ansatz von paulepank funktioniert !
Gruß Frank
Bitte warten ..
Mitglied: miniversum
20.03.2008 um 16:28 Uhr
Doch sowas funktioniert auch:
01.
set zaehler = 0 
02.
 
03.
for /R %team% %%a in (*.prt) do ( 
04.
 
05.
@idfvfy.exe -v %%a >> %ziel_log%\%xdatum%_%name_log_file% 
06.
 
07.
set /a zaehler += 1 
08.
 
09.
10.
 
11.
echo Schleife wurde %zaehler% -mal durchlaufen .>> %ziel_log%\%xdatum%_%name_log_file%
Es stimmt zwar das Variabeln einmal vor der Klammer aufgelöst werden und dann so bleiben (wenn man kein delayed expansion benutzt) aber beim set gehts. Zuweisungen mit set funktionieren. Nur das Anzeigen der Variable in der Schleife mit %zaehler% würde den Wert vor der Klammer bringen (also 0) Nach der Klammer wird aber die Variable vorm echo befehl neu aufgelöst und dann steht der richtige Wert drin.
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Datenbanken
gelöst SQL-Abfrage - Anzahl der Wechsel zählen (15)

Frage von Cire48 zum Thema Datenbanken ...

Microsoft Office
gelöst Excel Formeln - Zählen der Anzahl eindeutiger Zellwerte mit einer Nebenbedingung (4)

Frage von Booster07 zum Thema Microsoft Office ...

Exchange Server
Exchange automatische Antworten max. Anzahl an Weiterleitungsebenen

Frage von tomtimo zum Thema Exchange Server ...

Heiß diskutierte Inhalte
Viren und Trojaner
gelöst Wie werde ich den Mist "fanli90" wieder los? (18)

Frage von Taumel zum Thema Viren und Trojaner ...

Switche und Hubs
LAG zwischen Cisco SG300 und Dlink DGS1100 herstellen - wie? (16)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

CPU, RAM, Mainboards
Hardware Fragen (12)

Frage von xaver-2 zum Thema CPU, RAM, Mainboards ...

Exchange Server
gelöst Exchange 2013 - Kontakte aus CSV importieren (9)

Frage von hesper zum Thema Exchange Server ...