Top-Themen

Aktuelle Themen (A bis Z)

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 Verschachtelungen mit for schleifen

Mitglied: brainbug84

brainbug84 (Level 1) - Jetzt verbinden

12.12.2008, aktualisiert 22:05 Uhr, 2991 Aufrufe, 1 Kommentar

Hi zusammen,

ich habe folgendes Problem. Ich habe mehrere Textdateien (dat1,dat2,dat3,dat4). Den Inhalt von 2,3,4 möchte ich in Datei 1 schreiben, jedoch ohne die ersten 3 Zeilen (Skip=3) und ohne die letzten 7 Zeilen(habe ich durch eine for-Schleife dahingehend implementiert, dass ich mir die Anzahl der Zeilen in einer Variablen speichere und anschließend nur die Zeilen rausschreibe ohne die letzten 7. Nun habe ich noch eine forschleife deren die ich benötige um die dateien hochzuhzaehlen, das es unterschiedliche viele geben kann, also dat1-18 bspw.

Alleine funktionieren die Schleifen glaube ich, nur wenn ich es versuche zu vermischen geht gar nix mehr.

Könnt ihr mir vielleicht sagen was es mit dem @ vor den anweisungen auf sich hat also bspw.

for /f "tokens=1,* delims=:" %%i in ('findstr /n $ test.txt') do @(for /L %%a in (2,2,6) do @if %%i==%%a @echo %%j

01.
 
02.
set /a i=8   //beispielwert für anzahl der dateien 
03.
 
04.
set /a zaehler2=2 //zaehler fängt bei 2 an, da ab der zweiten datei der inhalt in die erste datei soll 
05.
set /a k=%i%-2 //anzahl der schritte von 2-8 => 6 
06.
 
07.
/* 
08.
*Hier wird geschaut wieviel Zeilen die jeweilige Datei hat und das k-mal(hier sechs mal). Das ergebnis soll in count gespeichert werden. 
09.
*/ 
10.
for /L %%b in (1,1,%k%) do (FOR /f "tokens=1,* delims=:" %%f IN ('findstr /n . dat%zaehler2%') DO set /a count=%%f  
11.
set /a rest=%count%-7 //Variable für ausgabe ohne letzte 7 zeilen 
12.
for /f "skip=3 tokens=1,* delims=:" %%h in ('findstr /n  . dat%zaehler2%') do @(for /L %%a in (1,1,%rest%) do @if %%h==%%a echo %%j ) >>dat1  //Hier sollen die Infos ab zeile 4 bis zur 7letzten zeile in dat1 eingefügt werden 
13.
set /a zaehler2 = %zaehler2%+1 //Zaehler für die Dateien 
14.
)
Danke für die Hilfe, ich hoffe jemand versteht meine Ausführungen
Mitglied: bastla
12.12.2008 um 22:05 Uhr
Hallo brainbug84!

Schleifen lassen sich auch anders konstruieren:
01.
@echo off & setlocal 
02.
set /a Anzahl=8 
03.
set /a zaehler2=2 
04.
 
05.
:Loop 
06.
FOR /f "tokens=1,* delims=:" %%f IN ('findstr /n "^" "dat%zaehler2%"') DO set /a count=%%f  
07.
set /a bis=%count%-7 
08.
for /f "skip=3 tokens=1,* delims=:" %%i in ('findstr /n "^" "dat%zaehler2%"') do if %%i leq %bis% >>"dat1" echo %%j 
09.
set /a zaehler2+=1 
10.
if %zaehler2% leq %Anzahl% goto :Loop
Kommentare werden übrigens in Batch entweder mit REM oder mit :: eingeleitet - sollen sie auch noch an eine Codezeile angefügt werden, dann etwa so:
echo Das wird ausgegeben & REM und das nicht
Könnt ihr mir vielleicht sagen was es mit dem @ vor den anweisungen auf sich hat
Wenn Du kein "echo off" setzt, werden Befehle vor der Ausführung zunächst einmal angezeigt. Mit dem vorangestellen "@" kannst Du diese Anzeige gezielt für einzelne Befehle unterdrücken, also etwa
for /L %i in (1,1,5) do echo Zeile %i mit Vorab-Anzeige
vs
for /L %i in (1,1,5) do @echo Zeile %i ohne Vorab-Anzeige
Beide Beispiele sind (wie am einfachen "%" für die Laufvariable zu erkennen) für die Direkteingabe an der Kommandozeile gedacht.

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Und Oder Verschachtelungen
gelöst Frage von grasihuepferMicrosoft Office1 Kommentar

Ich möchte folgendes realisieren: wenn(und(a1=0;b1=0;c1>d1) dann soll e1 den Wert 20 geben wenn(und(a1=0;b1=0;c1<d1) dann soll e1 den Wert 30 ...

Batch & Shell
If Else mit Verschachtelung
gelöst Frage von soritoseBatch & Shell5 Kommentare

hallo ich versuche gerade eine suche zu schreiben mit einigen IF leider bekomme ich immer nur ein Syntaxfehler und ...

Batch & Shell
Batch Schleife als FOR-SCHLEIFE
gelöst Frage von mp2711Batch & Shell2 Kommentare

Mit den FOR-Schleifen habe ich mich leider bislang zu selten auseinander gesetzt, aber da ich sonst gerade nicht weiter ...

Batch & Shell

If else Verschachtelung für Ping-Check in Shell

Frage von trallerBatch & Shell1 Kommentar

Hallo, ich möchte in dieses Script einen doppelten Ping-Check einbauen. Das ganze läuft auf einem DD-WRT Router Aktuell sieht ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 2 StundenWindows 10

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 4 StundenAdministrator.de Feedback8 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 22 StundenHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 1 TagGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Server-Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer-Hardware17 Kommentare

Ich arbeite für einen internationalen Elektronikhersteller in der Forschung und meine Aufgabe ist es, Feedback von Nutzern in Hinsicht ...

Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Switche und Hubs
Cisco SG350X-48 AdminIP in anderes VLAN
Frage von lcer00Switche und Hubs14 Kommentare

Hallo zusammen, ich habe ein Problem mir einem Cisco SG350X-48 bei der Erstinstallation wurde eine IP 192.168.0.254 (Default VLAN ...