Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Backup-Script - Durch Auswahl im menue parameter setzen (und diesen auch benutzen)

Frage Entwicklung Batch & Shell

Mitglied: Xalimeo

Xalimeo (Level 1) - Jetzt verbinden

22.05.2010, aktualisiert 23:16 Uhr, 3432 Aufrufe, 3 Kommentare

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:

01.
ECHO 1.) 
02.
ECHO   (Full BackUp with packing) 
03.
ECHO. 
04.
ECHO. 
05.
ECHO 2.) 
06.
ECHO   (Full BackUp without packing) 
07.
ECHO. 
08.
ECHO.
01.
set /P auswahl=(1-3 oder E) Bitte waehlen:  
02.
 
03.
if /I "%auswahl%"=="1" ( 
04.
echo 1 
05.
set packing=1 
06.
goto Preparation01 
07.
08.
 
09.
if /I "%auswahl%"=="2" ( 
10.
echo 2 
11.
set packing=0 
12.
goto Preparation01 
13.
)
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:

01.
if %packing%==1 goto Packing 
02.
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?
Mitglied: 60730
22.05.2010 um 11:19 Uhr
Salü,

im prinzip solltest du in einer Batch immer den gleichen Weg nehmen, wenn du das gleiche machst

01.
if /I "%auswahl%"=="1" ( 
02.
 echo 1 
03.
 set packing=1 
04.
 goto Preparation01 
05.
 )
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 !

01.
if %packing%==1 goto Packing 
02.
if %packing%==0 goto Cleanup
...und da hast du "geschludert"

01.
if "%packing%"=="1" goto Packing 
02.
if "%packing%"=="0" goto Cleanup
Wobei du natürlich das setzen und die ganze Abfrage des zweiten Parameters sein lassen könntest...
01.
if not "%auswahl%"=="0" if "%auswahl%"=="1" goto Packing 
02.
if not "%auswahl%"=="1" if "%auswahl%"=="0" goto Cleanup 
03.
echo Sie haben "%auswahl%" eingegeben, aber ich verstehe nur 0 und 1.
Bitte warten ..
Mitglied: Xalimeo
22.05.2010 um 14:43 Uhr
Zitat von 60730:
01.
if "%packing%"=="1" goto Packing 
02.
 if "%packing%"=="0" goto Cleanup
Wobei du natürlich das setzen und die ganze Abfrage des zweiten Parameters sein lassen könntest...
01.
if not "%auswahl%"=="0" if "%auswahl%"=="1" goto Packing 
02.
 if not "%auswahl%"=="1" if "%auswahl%"=="0" goto Cleanup 
03.
 echo Sie haben "%auswahl%" eingegeben, aber ich verstehe nur 0 und 1.
Danke Dir, jetzt läuft das soweit fehlerfrei!
Dein zweites Snippet konnte ich mir leider noch nicht ganz zu Gemüte führe, wird aber noch implementiert werden.
Beim gleichen Script hab ich ein neues Problem:
Ich möchte nach dem Aufräumen noch einen Ordner vom USB-Stick sichern.
Dieser Stick kriegt immer ein und denselben Laufwerksbuchstaben, den auch kein anderes Gerät kriegen kann (USB Drive Letter Manager).
Der Stick ist nicht immer eingesteckt, deswegen lasse ich das folgendermassen erledigen
Schnipsel:

01.
if exist "P:\Hallöchen" == robocopy /E /ZB /R:0 /W:1 "P:\Hallöchen" "X:\TEST\%DATE%\Stick\Hallöchen" /LOG+:"X:\TEST\LogStick.txt"
Der Block ist korrekt in das Konzept eingebunden, jedoch kommt kein Errorlevel oder sonst irgendwas.

-> Neues Thema für die Frage angelegt, da zu offtopic
- Danke an TimoBeil und bastla!
Bitte warten ..
Mitglied: bastla
22.05.2010 um 14:51 Uhr
Hallo Xalimeo!

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) ...
Bitte warten ..
Ähnliche Inhalte
Windows Server
PowerShell Script - Ordnerrechte setzen (7)

Frage von desmondjames zum Thema Windows Server ...

Batch & Shell
Domainübergreifendes netlogon script ausführen (7)

Frage von Lukas4580 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(4)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Heiß diskutierte Inhalte
Exchange Server
Exchange 2016 Standard Server 2012 R2 Hetzner Mail (41)

Frage von Datsspeed zum Thema Exchange Server ...

Windows 7
gelöst Lokales Adminprofil defekt (25)

Frage von Yannosch zum Thema Windows 7 ...

LAN, WAN, Wireless
gelöst Statische Routen mit ISC-DHCP Server für Android Devices (18)

Frage von terminator zum Thema LAN, WAN, Wireless ...

Exchange Server
gelöst Migration Exchange 2007 zu 2013 - Public Folder teilweise weg (16)

Frage von Andy1987 zum Thema Exchange Server ...