Backup-Script - Durch Auswahl im menue parameter setzen (und diesen auch benutzen)
Einen guten Tag alle zusammen in diesem hervorragenden "Board"!
Ich bin eher weniger bewandert in Sachen Coding und verzweifele gerade an meinem kleinen Projekt.
Für Hilfe bin ich sehr dankbar.
Ich bin dabei, mir gerade ein Backup-Script zu basteln.
Konzept:
temporäre Dateien löschen, unnötige Ordner löschen, Daten kopieren, ggf. BackUp packen, aufräumen
Durch ein menue soll unter anderem entschieden werden, ob das Backup gepackt werden soll oder nicht.
Dazu ein Schnipsel aus dem menue:
Nach löschen der temporären Dateien, sowie unnötiger Ordner in der Source werden Daten kopiert und darauffolgend die Parameter abgerufen, damit das (in der Theorie) auch da weitergeht, wo es soll:
Das funktioniert so aber leider nicht.
Es wird immer der Block "Packing" abgearbeitet.
Hab ich da im code einen Fehler drin oder ist im Konzept der Wurm drin?
Ich bin eher weniger bewandert in Sachen Coding und verzweifele gerade an meinem kleinen Projekt.
Für Hilfe bin ich sehr dankbar.
Ich bin dabei, mir gerade ein Backup-Script zu basteln.
Konzept:
temporäre Dateien löschen, unnötige Ordner löschen, Daten kopieren, ggf. BackUp packen, aufräumen
Durch ein menue soll unter anderem entschieden werden, ob das Backup gepackt werden soll oder nicht.
Dazu ein Schnipsel aus dem menue:
ECHO 1.)
ECHO (Full BackUp with packing)
ECHO.
ECHO.
ECHO 2.)
ECHO (Full BackUp without packing)
ECHO.
ECHO.
set /P auswahl=(1-3 oder E) Bitte waehlen:
if /I "%auswahl%"=="1" (
echo 1
set packing=1
goto Preparation01
)
if /I "%auswahl%"=="2" (
echo 2
set packing=0
goto Preparation01
)
Nach löschen der temporären Dateien, sowie unnötiger Ordner in der Source werden Daten kopiert und darauffolgend die Parameter abgerufen, damit das (in der Theorie) auch da weitergeht, wo es soll:
if %packing%==1 goto Packing
if %packing%==0 goto Cleanup
Das funktioniert so aber leider nicht.
Es wird immer der Block "Packing" abgearbeitet.
Hab ich da im code einen Fehler drin oder ist im Konzept der Wurm drin?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 143369
Url: https://administrator.de/contentid/143369
Ausgedruckt am: 16.11.2024 um 05:11 Uhr
3 Kommentare
Neuester Kommentar
Salü,
im prinzip solltest du in einer Batch immer den gleichen Weg nehmen, wenn du das gleiche machst
Das sieht doch wunderbar aus - (wie auch dein ganzer Beitrag)
Das überflüssige /i stört ja nicht - /I bedeutet:
Interessiert mich nicht, ob der Benutzer Z oder z getippt hat
Eine groß geschriebene 1 wird zum !
...und da hast du "geschludert"
Wobei du natürlich das setzen und die ganze Abfrage des zweiten Parameters sein lassen könntest...
im prinzip solltest du in einer Batch immer den gleichen Weg nehmen, wenn du das gleiche machst
if /I "%auswahl%"=="1" (
echo 1
set packing=1
goto Preparation01
)
Das überflüssige /i stört ja nicht - /I bedeutet:
Interessiert mich nicht, ob der Benutzer Z oder z getippt hat
Eine groß geschriebene 1 wird zum !
if %packing%==1 goto Packing
if %packing%==0 goto Cleanup
...und da hast du "geschludert"
if "%packing%"=="1" goto Packing
if "%packing%"=="0" goto Cleanup
Wobei du natürlich das setzen und die ganze Abfrage des zweiten Parameters sein lassen könntest...
if not "%auswahl%"=="0" if "%auswahl%"=="1" goto Packing
if not "%auswahl%"=="1" if "%auswahl%"=="0" goto Cleanup
echo Sie haben "%auswahl%" eingegeben, aber ich verstehe nur 0 und 1.
Hallo Xalimeo!
Ein "
Dass der Ordner (trotz des Umlautes im Namen) - falls er nicht nur als Beispiel gedacht war - richtig erkannt wird, hast Du schon getestet?
Grüße
bastla
P.S.: Die Forumsdatenbank hat noch ausreichend Platz für neue Beiträge (und auch wenn's - für Dich - um den gleichen Batch geht, betrifft die Frage eigentlich ein anderes Thema) ...
Ein "
if exist
" braucht keine "==
" ...Dass der Ordner (trotz des Umlautes im Namen) - falls er nicht nur als Beispiel gedacht war - richtig erkannt wird, hast Du schon getestet?
Grüße
bastla
P.S.: Die Forumsdatenbank hat noch ausreichend Platz für neue Beiträge (und auch wenn's - für Dich - um den gleichen Batch geht, betrifft die Frage eigentlich ein anderes Thema) ...