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, 17494 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
Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

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

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...