Variablen mit fortlaufender Nummer abfragen
Ich bin gerade dabei ein Script zu basteln, welches mir Dateien sichert. Hierfür würde ich gerne am Anfang der Datei per Variablen die zu Sichernden Verzeichnisse festlegen. Hierfür würde ich gerne die Variablen "Quelle1, Quelle2, Quelle3 usw..." verwenden. Leider komme ich hier nicht weiter. Wie kann ich eine fortlaufende Variablennummer abfragen?
Hier das Script, welches ich vorbereitet habe:
Die Schleife wird so lange ausgeführt bis keine weitere Variable mehr vorhanden ist.
Ich weiß natürlich, dass die Variable Quelle%i% nicht funktionieren kann. Aber wie kann ich die bewirken, dass er somit den Inhalt der Variable "Quelle1 usw." ausgibt? Später wird diese Variable nämlich dann zur Sicherung verwendet.
Grüße Micha
Hier das Script, welches ich vorbereitet habe:
@echo off
set Quelle1=D:\Daten
set Quelle2=D:\Bilder
set Quelle3=D:\Texte
set i=1
:schleife1
IF Quelle%i%=="" goto weiter1
REM Hier sollen die oben definierten Verzeichnisse ausgegeben werden.
echo Quelle%i%
set /A i=%i%+1
goto schleife1
:weiter1
EXIT
Die Schleife wird so lange ausgeführt bis keine weitere Variable mehr vorhanden ist.
Ich weiß natürlich, dass die Variable Quelle%i% nicht funktionieren kann. Aber wie kann ich die bewirken, dass er somit den Inhalt der Variable "Quelle1 usw." ausgibt? Später wird diese Variable nämlich dann zur Sicherung verwendet.
Grüße Micha
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 176713
Url: https://administrator.de/contentid/176713
Ausgedruckt am: 26.09.2024 um 23:09 Uhr
2 Kommentare
Neuester Kommentar
Aloha,
Datensicherung, hm?
das sollte dir, denke ich weiterhelfen, das Kopieren statt des Echos bekommst du wohl auch selbstständig hin
Die Pause in Zeile 9 dient nur dazu, dass du die Echos lesen kannst, da ja sonst in Zeile 7 wenn
Hinweise zur
greetz André
P.S.: Sollten deine Pfade mal Ausrufezeichen beinhalten, sollte man per
Datensicherung, hm?
@echo off & setlocal enabledelayedexpansion
set "Quelle1=D:\Daten"
set "Quelle2=D:\Bilder"
set "Quelle3=D:\Texte"
for /L %%s in (1,1,9) do (
if "!Quelle%%s!" equ "" goto :eof
echo !Quelle%%s!
pause>nul
)
Die Pause in Zeile 9 dient nur dazu, dass du die Echos lesen kannst, da ja sonst in Zeile 7 wenn
!Quelle%%s!
leer ist per goto :eof
das Skript beendet wird Hinweise zur
for
-Schleife bietet dir for /?
und Friemlers Tutorial zur FOR-Schleife hier im Forum.greetz André
P.S.: Sollten deine Pfade mal Ausrufezeichen beinhalten, sollte man per
call :Sprungmarke
die Schleife auslagern