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, 4210 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
gelöst Abfrage ERRORLEVEL springt aus der FOR Schleife (8)

Frage von Galindiesel zum Thema Batch & Shell ...

Batch & Shell
gelöst Warum funktioniert das echo in meiner for-Schleife auch mit Sonderzeichen? (9)

Frage von Pedant zum Thema Batch & Shell ...

Batch & Shell
Verschachtelte For Schleife für Batch Neuling (3)

Frage von yperiu zum Thema Batch & Shell ...

Batch & Shell
gelöst Verlinkung erstellen Batch Datei mit for Schleife (2)

Frage von rusdav zum Thema Batch & Shell ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Server-Hardware
Einem Stromausfall entgegen wirken (22)

Frage von OIOOIOOIOIIOOOIIOIIOIOOO zum Thema Server-Hardware ...

Festplatten, SSD, Raid
PC stellt nach dem Bios ab (20)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...

Windows 7
Freeware MSI Tool (13)

Frage von uridium69 zum Thema Windows 7 ...

DSL, VDSL
gelöst Ständige Störungen - Internet (12)

Frage von gamerff zum Thema DSL, VDSL ...