Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [Batch] Schleife ?!? (https://www.delphipraxis.net/50762-%5Bbatch%5D-schleife.html)

Assun 31. Jul 2005 00:07


[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

Daniel G 31. Jul 2005 00:12

Re: [Batch] Schleife ?!?
 
Erster Treffer bei Google:

Batch Tutorial

Assun 31. Jul 2005 00:16

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:

@echo off

for i to 100 do

echo HELLO WORLD


wenn es so gehen würde sollte das dann 100x HELLO WORLD ausgeben.

Geht aber net :-(

__________________________________________________ ________________________________

EDIT :

Das einzigste was ich zu dem Thema gefunden habe ist :

Zitat:

@echo off

FOR %%a IN (0 1 2 3 4 5) DO echo %%a

pause
das bringt mir aber herzlich wenig :-(

turboPASCAL 31. Jul 2005 08:15

Re: [Batch] Schleife ?!?
 
Code:
[b][color=green]Syntax:[/color][/b]
[b]for[/b] {%Variable|%%Variable} [b]in[/b] (Gruppe) [b]do[/b] Befehl [Befehlszeilenoptionen]
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:

In Delphi:
Delphi-Quellcode:
for i := 0 to 5 do
  writeln('Hallo ', i);
In einer Batch-Datei:
Code:
@echo off
FOR %%a IN (0 1 2 3 4 5) DO echo Hallo %%a
pause
Auf/in der Console:
Code:
FOR %a IN (0 1 2 3 4 5) DO echo Hallo %a
Ausgabe:
Code:
Hallo 0
Hallo 1
Hallo 2
Hallo 3
Hallo 4
Hallo 5
In einer Batch-Datei:
Code:
@echo off
FOR %%a IN (Neu.exe Alt.exe Hallo.dll) DO copy %%a C:\TEMP\
pause
"Ausgabe":
Code:
COPY Neu.exe C:\TEMP\
COPY Alt.exe C:\TEMP\
COPY Hallo.dll C:\TEMP\
Quizfrage, was macht:
Code:
@ECHO OFF
SET MyText=Hallo Du da!
FOR %%a IN (1 2 3 10 20 30 100 200 300) DO ECHO %MyText%
PAUSE

Sharky 31. Jul 2005 08:43

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

Olli 31. Jul 2005 10:51

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:
http://www.windowsshellscripting.com/

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 ;)

Assun 31. Jul 2005 11:03

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:

SMO 31. Jul 2005 14:04

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

Sharky 31. Jul 2005 18:06

Re: [Batch] Schleife ?!?
 
Zitat:

Zitat von Olli
.... ein Mischmasch aus NT-Script und DOS-Batch zu sein. ...

Hai Olli,

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?

Christian Seehase 31. Jul 2005 18:14

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 02:55 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz