samtrex
Goto Top

Der Befehl FOR

Hallo mal wieder!
Ich habe folgendes Problem:
Ich übe und hantier z.Z. mit Batches herum... Allerding begreife ich den Befehl FOR nicht. Habe im Internet geguckt, und BIBER hat ja hier im Forum auch seine "Einsteigerkurse" niedergeschrieben. Die fangen harmlos an, aber dann...... :|
Hab ehrlich gesagt kein Wort verstanden!

Könnte mir jemand diesen Befehl mal ganz ausführlich erklären???

DANKE!

PS:
Ich möchte beispielsweise den Inhalt von Verzeichnis A nach Verzeichnis B kopieren.
Es soll jede Datei kopiert, kontrolliert und anschließend in A gelöscht werden. UND er soll anzeigen wenn / welche Dateien nicht kopiert wurden!

Nicht einfach xcopy A B /s /v
und dann del B *.*

NOCHMALS DANKE!

MfG Sam

Content-Key: 25213

Url: https://administrator.de/contentid/25213

Printed on: April 23, 2024 at 08:04 o'clock

Member: maneich
maneich Feb 06, 2006 at 01:08:16 (UTC)
Goto Top
Hallo,

ich denke für Schulungen sind Foren nicht geeignet, eher für Problemlösungen.

Der For-Befehl ist zwar sehr mächtig aber grob gesagt nur dafür da um z.B. Laufwerke, Verzeichnisse, Listen usw. zu unterteilen.

In Deinem Fall benötigst du auf jeden Fall sowohl copy/xcopy und del/deltree bzw. rd.
Den Parameter /v in copy/xcopy könntest Du mit dem Befehl fc /.. ersetzen.

Zusammen mit dem For-Befehl dürfte das mindestens die 3 - 4 -fache Zeit benötigen.
Anzeige nur von nicht kopierten Dateien gibt es nicht; ganz nach dem Motto "alles oder nichts". Höchstenfalls ein Eintrag in eine Logdatei.

Eine Möglichkeit wäre noch mit move.

Also mit dem For-Befehl könnte das z.B. so ausschauen:
cd VerzeichnisA
for /f "tokens=*" %%i in ('dir /b VerzeichnisA') do (  
move /y %%i VerzeichnisB>>%temp%\Log_x.txt
FC %%i VerzeichnisB\%%i| FIND "FC: no dif" > nul   
if errorlevel 1 Echo Fehler in verschobenen Dateien %%i>>%temp%\Log_x.txt
Echo.>>%temp%\Log_x.txt)

MfG maneich
Member: SamTrex
SamTrex Feb 08, 2006 at 21:35:55 (UTC)
Goto Top
Danke für diesen Hinweis.....
Wo kann ich sowas den posten?

Mir geht es nämlich hauptsächlich darum den Befehl zu verstehen,
so das ich ihn auch umsetzen kann.

Aber danke trotzdem......
Gruß Sam