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

batch-File als Kopier-Routine

Frage Entwicklung Batch & Shell

Mitglied: alexander01

alexander01 (Level 1) - Jetzt verbinden

07.10.2009 um 07:43 Uhr, 4543 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 für File extension überprüfung und listenerstellungmit Zeit und Datum (2)

Frage von watch123 zum Thema Batch & Shell ...

Batch & Shell
gelöst Kl. Frage: Log-File schreiben per Batch (3)

Frage von Yauhun zum Thema Batch & Shell ...

Batch & Shell
gelöst ( Batch ) Open File or Folder Dialog (5)

Frage von clragon zum Thema Batch & Shell ...

Windows 10
Batch: Copy file.txt Lokaler Drucker (1)

Frage von fluluk zum Thema Windows 10 ...

Neue Wissensbeiträge
Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Router & Routing

PfSense auf Supermicro Intel Xeon D-15x8 SoC Bare Bone

Tipp von Dobby zum Thema Router & Routing ...

Windows Server

Exchange 2010 auf Windows Server 2016 und AD

(2)

Tipp von Herbrich19 zum Thema Windows Server ...

KVM

How to: Libvirt Port forwarding

(2)

Anleitung von fundave3 zum Thema KVM ...

Heiß diskutierte Inhalte
Basic
Programmierung von Windows Programmen (9)

Frage von Ghost108 zum Thema Basic ...

C und C++
Fehlendes verständiss von C und C++ (8)

Frage von zelamedia zum Thema C und C ...