![]() |
[Batch] Schleife ?!?
hi ! Bin gerade dabei n bisserl Batch zu lernen ;-)
habe schon etliche tuts durchwältzt aber die Sache mit der schleife ist mir ein rätsel ! weiss jemand wie man schleifen in Batches verwenden kann ? THX |
Re: [Batch] Schleife ?!?
|
Re: [Batch] Schleife ?!?
jo, aber ich sagte ja bereits dass ich das in den tuts net so ganz blicke !
Denn ich will sowas in etwa hinbekommen : also mal n beispiel (funtzt aba net) Zitat:
Geht aber net :-( __________________________________________________ ________________________________ EDIT : Das einzigste was ich zu dem Thema gefunden habe ist : Zitat:
|
Re: [Batch] Schleife ?!?
Code:
Du wirst also den For-Befehl nicht wie in Delphi verwenden können. Vereinfacht gesagt, der "MS-DOS" For Befehl übergibt jeden den Wert aus der Gruppe an die Variable also:
[b][color=green]Syntax:[/color][/b]
[b]for[/b] {%Variable|%%Variable} [b]in[/b] (Gruppe) [b]do[/b] Befehl [Befehlszeilenoptionen] In Delphi:
Delphi-Quellcode:
In einer Batch-Datei:
for i := 0 to 5 do
writeln('Hallo ', i);
Code:
Auf/in der Console:
@echo off
FOR %%a IN (0 1 2 3 4 5) DO echo Hallo %%a pause
Code:
Ausgabe:
FOR %a IN (0 1 2 3 4 5) DO echo Hallo %a
Code:
In einer Batch-Datei:
Hallo 0
Hallo 1 Hallo 2 Hallo 3 Hallo 4 Hallo 5
Code:
"Ausgabe":
@echo off
FOR %%a IN (Neu.exe Alt.exe Hallo.dll) DO copy %%a C:\TEMP\ pause
Code:
Quizfrage, was macht:
COPY Neu.exe C:\TEMP\
COPY Alt.exe C:\TEMP\ COPY Hallo.dll C:\TEMP\
Code:
@ECHO OFF
SET MyText=Hallo Du da! FOR %%a IN (1 2 3 10 20 30 100 200 300) DO ECHO %MyText% PAUSE |
Re: [Batch] Schleife ?!?
Hai ihr,
auch wenn es "bei uns" ja verpönt ist hilft in diesem Fall ein "GoTo" :stupid:
Code:
@echo off
SET /a x=1 :huepf echo *blubb* set /a x+=1 if %x% LEQ 10 goto :huepf |
Re: [Batch] Schleife ?!?
Von was reden wir hier eigentlich. Die Quelltexte oben scheinen mir mehr ein Mischmasch aus NT-Script und DOS-Batch zu sein. Ja, das sind zwei verschiedene Dinge. Auch wenn natürlich syntaktische Ähnlichkeiten existieren.
Die Webseite zum Buch über NT Shell Scripting gibt's hier: ![]() Das Buch kann ich jedem Systemadmin nur ans Herz legen. Auch wenn Perl ne feine Sache und guter Ersatz für NT-Scripts ist, so ist es immer wieder erstaunlich, was man dennoch damit alles machen kann. Wo doch immer von anderer Seite behauptet wird NT-Scripts seien minderwertig ;) |
Re: [Batch] Schleife ?!?
Vielen Dank !!! Sharkys methode klappt sogar mit Variablen, soll heissen ich habs sogar geschafft die anzahl der Wiederholungen per eingabe zu bestimmen !
Dieses Forum ist einfach genial ! Hier bekommt man wirklich zu jeder Frage eine Antwort :thumb: |
Re: [Batch] Schleife ?!?
Mit dem Parameter /L kann der FOR-Befehl durchaus normale Schleifen. Jedenfalls unter Windows XP, keine Ahnung wann diese Funktionalität eingeführt wurde.
Code:
FOR /L %Variable in (Start,Schritt,Ende) DO Befehl
z.B. for /l %a in (1,1,10) do echo Hallo %a |
Re: [Batch] Schleife ?!?
Zitat:
welchen Code meinst Du denn jetzt? Ich war mir fast sicher in meinen "Batsch-Beispiel" nur Funktionen verwendet zu haben die es schon in DOS <3.1 gegeben hat? |
Re: [Batch] Schleife ?!?
Moin Sharky,
die Erweiterungen (/a bei Set und LEQ bei if) gibt es IMHO nur auf der NT-Seite, seit NT 4.0. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:28 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz