Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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

batch-File als Kopier-Routine

Frage Entwicklung Batch & Shell

Mitglied: alexander01

alexander01 (Level 1) - Jetzt verbinden

07.10.2009 um 07:43 Uhr, 4572 Aufrufe, 6 Kommentare

Hallo, wer kann mir eine Hilfestellung geben?

ich bin am Erstellen eines kleinen batch-Files. Dieses soll mir automatisch nachts bestimmte Verzeichnisse von a nach b sichern.
mein bisheriges script macht das alles, ich habe jedoch für jedes verzeichnis mehrere Zeilen text, dadurch wird das script sehr lang und unüübersichtlich. Da die befehle bei allen Verzeichnissen gleich sind (erst wird der Inhalt des Zielverzeichnisses gelöscht, dann mit xcopy neu beschrieben, logs erstellt und entsprechend errorlevel weiter gesprungen) dachte ich daran, die verzeichnisse mit set vz_1=c:\test1 u.s.w. zu deklarieren und dann in einer for-schleife alle verzeichnisse abzuarbeiten:

@echo off & setlocal enabledelayedexpansion

set vz_1=c:\test1
set vz_2=c:\test2
set vz_3=c:\test3
set vz_4=c:\test4
.....

for /L %%i in (1 1 4) do (
set "vz=vz_%%i"
echo %!vz!% (Testzwecke) --------> listet am Monitor alle Verzeichnisse richtig auf, jedoch nicht den Inhalt (schreibt also "vz_1" und nicht "c:\test1")
xcopy !vz!\* c:\Backup /D /E /Y /I -------> wie macht man das?
)

der Echo-Befehl zeicht die vz-Variable jetzt richtig an, aber wie stelle ich den Bezug zum zugewiesenen Verzeichnis her?

Danke

Alexander
Mitglied: Iwan
07.10.2009 um 08:32 Uhr
guten morgen,

kannst du dir bitte zwecks besser Lesbarkeit die Formatierungshilfe mal angucken
da gibt es extra welche, um Code besser zu posten
Bitte warten ..
Mitglied: 60730
07.10.2009 um 10:26 Uhr
Servus,

kennst du den Parameter %1 bzw %2?

01.
echo %1 %2 
02.
pause
Wenn das miniscript mit scriptname parameter1 parameter2 aufgerufen wird - kommt eben jenes (parameter1 parameter2) per echo zurück.

Und genau damit kannst du deine immer wiederkehrenden Zeilen parametergesteuert "anders" ausführen.

Gruß
Bitte warten ..
Mitglied: miniversum
07.10.2009 um 13:32 Uhr
Mal ungetestet:
01.
@echo off & setlocal 
02.
FOR /F "tokens=1* delims=:" %%e in ('findstr /B /L /C:"REM DATA Verzeichnis:" "%~0"') do ( 
03.
echo Verarbeite: "%%f" 
04.
xcopy "%%f"\* c:\Backup /D /E /Y /I 
05.
06.
 
07.
REM DATA Verzeichnis:c:\test1 
08.
REM DATA Verzeichnis:c:\test2 
09.
REM DATA Verzeichnis:c:\test3 
10.
REM DATA Verzeichnis:c:\test4
Es können beliebig viele Zeile mit "REM DATA Verzeichnis:" angelegt werden. Die Zeile:
FOR /F "tokens=1* delims=:" %%e in ('findstr /B /L /C:"REM DATA Verzeichnis:" "%~0"') do (
lies dann auch der Batch selbst diese Zeile nahc einander aus, und nutzt sie als Variable %%f.
Willst du lieber eine extra Datei dafür haben kannst du die Verzeishcnisse auch direkt untereinander in eine Datei schreiben. Dann mußt du die Zeile 2 so abändern:
FOR /F "tokens=1 delims=" %%f in ('type "Datei.txt"') do (
Bitte warten ..
Mitglied: alexander01
07.10.2009 um 17:08 Uhr
danke Timo,

ja, die Parameterübergabe kenne ich.
Es wäre in der Tat eine Möglichkeit!
Es sind nun viele (ca. 10) Verzeichnisse und die Sache soll natürlich vollautomatisch laufen, insofern wäre mir ein in sich geschlossenes Script lieber...

danke erstmal, ich überlege noch


Alexander
Bitte warten ..
Mitglied: alexander01
07.10.2009 um 17:08 Uhr
Danke,

teste ich heute noch.

Alexander
Bitte warten ..
Mitglied: alexander01
08.10.2009 um 06:31 Uhr
funktioniert gut!
ich habe das Script noch ein wenig angepaßt, es läuft gut!

danke

Alexander
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Batch: alle Ordner mit einem bestimmten Namen kopieren (4)

Frage von Remsboys zum Thema Batch & Shell ...

Batch & Shell
Batch: Files verschieben ohne Überschreiben der Bestehenden (1)

Frage von maegee zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch aktuellsten Ordner kopieren (2)

Frage von MmarKuss zum Thema Batch & Shell ...

Neue Wissensbeiträge
Multimedia

Raspberry Pi als Digital-Signage-Computer

(1)

Information von BassFishFox zum Thema Multimedia ...

Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(16)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Router & Routing
Freigabe aus anderem Netz nicht erreichbar (32)

Frage von McLion zum Thema Router & Routing ...

Visual Studio
Vb.net-Tool zum Erzeugen einer Outlook-E-Mail (24)

Frage von ahstax zum Thema Visual Studio ...

Batch & Shell
Batch Programm verhalten bei shoutdown -p (19)

Frage von Michael-ITler zum Thema Batch & Shell ...

Windows Netzwerk
Netzwerk Neustrukturierung (15)

Frage von IT-Dreamer zum Thema Windows Netzwerk ...