Alternative Betriebssysteme 1.414 Themen, 9.991 Beiträge

Batch : For-Do-Schleife

edico / 4 Antworten / Flachansicht Nickles

Hej,

eine spanned disk (*.001, *.002, ...) soll mit FOR-DO-Schleife auf a: kopiert werden. Dazu ist also Diskettenwechsel notwendig. Die Anzahl der spanned disks ist vorab nicht geklärt, weil abhängig von der Grösse der gezippten Files. Mit IF und (umständlichen) Abfragen läuft mein Batch.
Kann ich die For-Do-Schleife mit mehreren Commands laufen lassen - also z.B.
for %%i in (set) do {existiert file?; echo Disk einlegen; copy a:}?

Vielen Dank. edico

bei Antwort benachrichtigen
edico Andreas42 „Hi! Das hängt von Betriebssystem bzw. vom Commandoprozessor ab, wie elegant man...“
Optionen

Hej Andreas,

danke für die Gedanken. Ja, Du hast recht - das OS! Nun, es ist MS-DOS 7. Deine Lösung mit den 2 Batches unterstreicht meinen bisherigen Kenntnisstand, dass im Gegensatz zu Linux die For-do-Schleife nur einen Befehl akzeptiert und ein Piping nicht möglich scheint. Die Lösung mit xcopy ist komfortabel- siehste man sollte sich mehr mit den Optionen befassen. Muss ich mir noch mal genauer ansehen.
Zur Info, was mir zwischenzeitlich noch eingefallen ist - allerdings nicht mit copy, sondern mit move. Dies funktioniert aber:
.....
echo Move spanned disks
cd c:\arc
:START
if not exist A.* goto ENDE
if exist A.* echo Disk einlegen [RET]
pause > nul
move /Y A.* a: >nul
goto START
:ENDE
echo ... done

Und tschüss. edico

bei Antwort benachrichtigen