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

Doppelte FOR-Schleife mit Variablenübernahme

Frage Entwicklung Batch & Shell

Mitglied: guenther123

guenther123 (Level 1) - Jetzt verbinden

02.06.2011 um 13:18 Uhr, 4172 Aufrufe, 4 Kommentare

Hallo Leute,

ich sitze hier an einem Problem. Ich versuche mich gerade ein wenig in Batch (.bat) Dateien und hänge an einer Doppelten For-Schleife fest.
Vielleicht hat ja jemand Lust mal da drüberzuschauen und zu zeigen, was ich falsch mache.



set "Quelle=C:\Sammlung"
set /a Durchlauf=1
set /p Doc=Wieviele Dateien:

FOR /L %%i in (1,1,%Doc%) do (
set vari=%%i

FOR /f "usebackq delims=" %%j in ("%Quelle%%Durchlauf%.txt") do (
set varj=%%j
call: AUFGABE
)

set /a Durchlauf+=1
echo "FERTIG"
)

:AUFGABE
[...]
exit /b


Das ganze sollte eigentlich z.B.: so ablaufen:

Nach dem Ausführen wird man gefragt

Wieviele Dateien: 2 [mögliche Antwort]

Nun geht er in die erste Schleife und weiß, dass er dieser 2 Mal durchlaufen muss.
Im ersten Durchlauf greift die innere/zweite For-Schleife auf das Dokument %Quelle%%Durchlauf%.txt (hier also C:\Sammlung1.txt) zu und arbeitet diese ab.

Im nächsten Schritt wird der Durchlauf-Wert um Eins erhöht. Nun sollte die innere Schleife auf C:\Sammlung2.txt zugreifen.

Das tut sie aber nicht. Sie arbeitet nur 2 mal (weil wir oben 2 eingegeben haben) die Liste C:\Sammlung1.txt ab.

Ich habe versucht "set /a Durchlauf+=1" an andere Orte zu Stellen, aber geholfen hat es nicht.

Falls jemand weiterweiß, würde ich mich über jede Antwort freuen.

Freundliche Grüße
und einen sonnigen Donnerstag

Günther
Mitglied: Friemler
02.06.2011 um 13:32 Uhr
Hallo Guenther,

Dein Stichwort heißt verzögerte Variablenerweiterung. Schau Dir doch mal mein Tutorial zur FOR-Schleife an.

Gruß
Friemler
Bitte warten ..
Mitglied: guenther123
02.06.2011 um 14:14 Uhr
Das war ja einfach, musste also nur

FOR /f "usebackq delims=" %%j in ("%Quelle%%Durchlauf%.txt") do (

in

FOR /f "usebackq delims=" %%j in ("%Quelle%!Durchlauf!.txt") do (

ändern.

Vielen Dank.
Bitte warten ..
Mitglied: Friemler
02.06.2011 um 14:26 Uhr
Hallo Guenther,

gern geschehen. Aber markiere den Thread doch bitte noch als gelöst.

Gruß
Friemler
Bitte warten ..
Mitglied: TsukiSan
02.06.2011 um 15:16 Uhr
Aber markiere den Thread doch bitte noch als gelöst.
und packe deinen Code-Schnipsel in unsere Codeformatierung. Dann bleibt's der Nachwelt besser erhalten.

Gruss
Tsuki
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Zwei Ergänzungen in einer For Schleife

Frage von charmeur zum Thema Batch & Shell ...

Batch & Shell
gelöst FOR Schleife mit Unterverzeichnissen, die Ausgabe kürzen (tokens evtl.) (5)

Frage von Kriegstreiber zum Thema Batch & Shell ...

Batch & Shell
gelöst For Schleife für Abgleich mit Text-Datei und Unterverzeichnisse (4)

Frage von grisur zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Verschlüsselung & Zertifikate
gelöst Festplattenverschlüsselung im Ausland (13)

Frage von Nicolaas zum Thema Verschlüsselung & Zertifikate ...

Windows Server
gelöst Microsoft-Lizenz CALs und passendes Server-Betriebssystem (12)

Frage von planetIT2016 zum Thema Windows Server ...

Festplatten, SSD, Raid
gelöst Fehlerhafte Blöcke im RAID 10 (12)

Frage von Kojak-LE zum Thema Festplatten, SSD, Raid ...

Netzwerkgrundlagen
gelöst Cisco SG500 Series LAG hat sich von selbst umgestellt (11)

Frage von Ex0r2k16 zum Thema Netzwerkgrundlagen ...