Variable im Script hoch zählen
Hi,
ich stehe gerade auf dem Schlauch:
in einem Script benötige ich die Funktion, das aus einem Verzeichnis "Verzeichnis10" eine Datei in ein Verzeichnis "10" kopiert wird.
Da die Verzeichnisse nicht konsistent nummeriert sind und ich mir die Fehler in der log Datei schenken möchte, sieht mein mein Ansatz derzeit wie folgt aus:
Das blöde ist nun nur: der zählt mir die Variable nicht hoch und bleibt immer bei 10. GRRRR
Nagus
ich stehe gerade auf dem Schlauch:
in einem Script benötige ich die Funktion, das aus einem Verzeichnis "Verzeichnis10" eine Datei in ein Verzeichnis "10" kopiert wird.
Da die Verzeichnisse nicht konsistent nummeriert sind und ich mir die Fehler in der log Datei schenken möchte, sieht mein mein Ansatz derzeit wie folgt aus:
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
:robocopy
Set zaehler=10
if exist d:\Verzeichnis\Verzeichnis%zaehler% robocopy d:\Verzeichnis\Verzeichnis%zaehler% d:\Verzeichnis\%zaehler% nfpc.* /w:30 /R:10 /V /TS /NP /log+:d:\Copy.log
Set zaehler=%zaehler%+1
if %zaehler%==25 goto Ende
goto robocopy
:ende
Das blöde ist nun nur: der zählt mir die Variable nicht hoch und bleibt immer bei 10. GRRRR
Nagus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 154452
Url: https://administrator.de/forum/variable-im-script-hoch-zaehlen-154452.html
Ausgedruckt am: 10.04.2025 um 17:04 Uhr
6 Kommentare
Neuester Kommentar
Hallo Nagus!
Na ja, aber
(zum Testen direkt an der Kommandozeile, und daher nur mit %i anstatt %%i und einem "
Grüße
bastla
Na ja, aber
for /L %i in (10,1,25) do @echo if exist d:\Verzeichnis\Verzeichnis%i robocopy d:\Verzeichnis\Verzeichnis%i d:\Verzeichnis\%i nfpc.* /w:30 /R:10 /V /TS /NP /log+:d:\Copy.log
@echo
") ist dann aber auch nicht so wahnsinnig kompliziert ...Grüße
bastla
Hallo Glücklicher
!
Du kannst in einem Batch ja auch etwas strukturieren:
...und wenn Du an die letzte Klammer noch ein
hängst, landen alle "
Falls Du allerdings Timestamps einbauen wolltest - etwa
müsstest Du dafür "
Grüße
bastla
Du kannst in einem Batch ja auch etwas strukturieren:
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
for /L %%i in (10,1,25) do (
if exist d:\Verzeichnis\Verzeichnis%%i (
echo Jetzt geht's los mit Verzeichnis%%i!
robocopy d:\Verzeichnis\Verzeichnis%%i d:\Verzeichnis\%%i nfpc.* /w:30 /R:10 /V /TS /NP /log+:d:\Copy.log
echo Das war's fuer Verzeichnis%%i.
echo\
)
)
>D:\Info.log
echo
"-Ausgaben in einer Datei ...Falls Du allerdings Timestamps einbauen wolltest - etwa
echo Am %date% um %time% geht's los mit Verzeichnis%%i!
delayedExpansion
" verwenden, da ansonsten für %date%und %time% immer die Werte zu Beginn der Schleife verwendet würden.Grüße
bastla