micha88
Goto Top

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:

@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

Content-Key: 176713

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

Ausgedruckt am: 28.03.2024 um 14:03 Uhr

Mitglied: Skyemugen
Skyemugen 23.11.2011 um 15:42:52 Uhr
Goto Top
Aloha,

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
	)
das sollte dir, denke ich weiterhelfen, das Kopieren statt des Echos bekommst du wohl auch selbstständig hin face-wink
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 face-wink

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 face-wink
Mitglied: Micha88
Micha88 23.11.2011 um 16:30:20 Uhr
Goto Top
Vielen Dank für die sehr schnelle Antwort!
Ich stand ein Wenig auf dem Schlauch. Den Weg mit der FOR Schleife habe ich auch schon versucht, aber ich bin auf die Lösung mit !Quelle%%s! nicht gekommen.

Das Script funktioniert einwandfrei. Der Sicherungsvorgang ist auch bereits programmiert und hat nun auch schon seinen ersten erfolgreichen Einsatz hinter sich face-wink

DANKE!

Gruß Micha