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

Batch Datei für Ordner Inhalt auf anderen Ordner verteilen

Frage Entwicklung Batch & Shell

Mitglied: Olli1989

Olli1989 (Level 1) - Jetzt verbinden

28.11.2012 um 13:09 Uhr, 2316 Aufrufe, 10 Kommentare

Hallo an alle,

ich bräuchte eure Hilfe.

Ich brauch eine Batch Datei die folgendes tut.

Ordner mit dem Namen "xy" in einem Verzeichnis sucht (D:\Daten), wenn er sie gefunden hat löscht und einen neuen Ordner der an einem Quellpfad liegt einfügt. Dabei sollte der Quellordner natürlich nicht gelöscht werden.

Bsp.
Auf Laufwerk D:\Daten\Vorlage\config (Quelleverzeichnis)
Ziel(1) D:\Daten\Test1
Ziel (2) D:\Daten\Test1

Somit kann ich den Ordner config einmal aktualisieren und durch die Batch Datei die anderen 124 Ordner synchronisieren.

Vielen Dank

Gruß Olli

Mitglied: bastla
28.11.2012 um 19:56 Uhr
Hallo Olli1989!

Wenn Du jetzt, mit einigem zeitlichen Abstand, Deine Problembeschreibung nochmals liest, wird Dir vielleicht auffallen, dass sie hinsichtlich der Verständlichkeit noch Potenzial hat ...

Grüße
bastla
Bitte warten ..
Mitglied: Olli1989
28.11.2012 um 20:12 Uhr
Hey Bastla,

ja da muss ich dir recht geben. Ich versuche es nochmal
Ich benötige eine Batch Datei die folgendes tut.
Ein Netzlaufwerk nach Ordnern (xy) durchsucht und wenn er diese Ordner gefunden hat durch einen Ordner ersetzt welcher in einem Quellverzeichnis liegt.
Problem ist beim ersetzen muss er den Ordner der als Quellverzeichnis dient nicht verändern.

Ist die Erklärung nun besser

Viele Grüße
Bitte warten ..
Mitglied: bastla
28.11.2012, aktualisiert um 20:42 Uhr
Hallo Olli1989!

Wenn Du jetzt noch konkretisierst, was unter "Ersetzen" zu verstehen ist (etwa: Name des Ordners soll gleich bleiben, Inhalt soll durch den Inhalt des Quellordners ersetzt werden, Ordner darf dazu gelöscht und neu erstellt werden) und klar stellst, wie die Zielordner gefunden werden sollen (Liste | alle Unterordner eines bestehenden Ordners | bestimmte Unterordner eines bestehenden Ordners, die anhand eines Namensbestandteiles identifiziert werden können) und ob der Inhalt des Quellordners in jeden dieser Ordner übertragen werden sollen, wird's vermutlich ganz gut ...

Grüße
bastla
Bitte warten ..
Mitglied: Olli1989
28.11.2012 um 20:43 Uhr
Der Name des Ordners soll gleich bleiben und der Inhalt soll durch den Inhalt des Quellordners ersetzt werden. Es sollen auf dem Laufwerk D: zwei Ordner (Software1,Software2) inklusive Unterordner durchsucht werden ob der Ordner "xy"vorhanden ist, wenn ja soll dieser gelöscht werden und der Ordner mit dem gleichen Namen "xy" aus dem Quellverzeichnis eingefügt werden.

Das Quellverzeichnis liegt aber auch auf dem Laufwerk D: also müsste man in der Batch Datei diesen Pfad ausnehmen, da er sonst den Quellordner auch löscht.

Ordnerstruktur

D:/Software1
D:/Software1/Vorlage/xy ------> Quellverzeichnis
D:/Software1/User1/xy -------> zu ersetzender Ordner

D:/Software2
D:/Software2/Ordner1/xy -------> zu ersetzender Ordner
D;/Software

Ich hoffe es kommt Licht ins dunkle
Bitte warten ..
Mitglied: bastla
28.11.2012, aktualisiert um 21:06 Uhr
Hallo Olli1989!

Dann vielleicht so:
01.
@echo off & setlocal 
02.
set "QuellPfad=D:\Software1\Vorlage" 
03.
set "Ordner=xy" 
04.
set Zielpfade="D:\Software1","D:\Software2" 
05.
 
06.
for %%i in (%Zielpfade%) do ( 
07.
    for /f "delims=" %%a in ('dir /s/b/ad "%%~i\%Ordner%" 2^>nul^|findstr /ivc:"%Quellpfad%"') do ( 
08.
        echo rd /s /q "%%a" 
09.
        echo xcopy /e "%QuellPfad%\%Ordner%" "%%a\" 
10.
11.
12.
pause
Zum gefahrlosen Testen sind die Zeilen 8 und 9 durch das vorangestellte "echo" entschäft - es werden so die jeweiligen Befehle für das Löschen des vorhandenen Ordners (samt Unterordner) und Kopieren des Quellordners nur angezeigt. Wenn das Ergebnis vernünftig aussieht, diese beiden "echo" entfernen ...

Hinweise: Es werden hier sämtliche Ordner "xy" unterhalb des jeweiligen Zielordners gesucht, nicht nur jene in der 3. Ordnerebene, und es werden die vorhandenen Ordner inkl Unterordner zunächst komplett gelöscht.

Grüße
bastla
Bitte warten ..
Mitglied: Olli1989
28.11.2012 um 21:09 Uhr
Super Ich werde es morgen gleich testen
Vielen Dank Bastla für die super Hilfe ich melde mich morgen mit
Ergebnissen

Schönen Abend noch
Bitte warten ..
Mitglied: Olli1989
29.11.2012 um 16:00 Uhr
Hallo Bastla,

ich habe es jetzt getestet und es funktioniert soweit bis auf einen kleinen Fehler.
Er durchsucht die Zielpfade und ersetzt auch den Ordner "PublishSkripte" leider legt er aber den die Inhalte des Ordners "PublishSkripte" auch ausserhalb des Ordners ab. Wieso?
Er soll eigentlich nur den vorhanden Ordner "PublishSkripte" löschen und den Ordner "PublishSkripte" aus dem Quellverzeichnis einfügen. Hast du eine Idee?

Hier der Inhalt der Datei.

@echo off & setlocal
set "QuellPfad=W:\Daten\Vorlagen\PublishSkripte"
set "Ordner=PublishSkripte"
set Zielpfade=W:\Daten\Rehadat-Elan","W:\Daten\Snapform

for %%i in (%W:\Daten\Rehadat-Elan%) do (
for /f "delims=" %%a in ('dir /s/b/ad "%%~i\%PublishSkripte%" 2^>nul^|findstr /ivc:"%W:\Daten\Vorlagen\PublishSkripte%"') do (
rd /s /q "%%a"
xcopy /e "%W:\Daten\Vorlagen\PublishSkripte" "%%a\"
)
)
pause
Bitte warten ..
Mitglied: bastla
29.11.2012, aktualisiert um 21:08 Uhr
Hallo Olli1989!

Wenn der Quellordner nicht "W:\Daten\Vorlagen\PublishSkripte\PublishSkripte" ist, müsstest Du den Quellpfad (in Zeile 2) anpassen ...

Grüße
bastla

P.S.: "Code"-Formatierung macht einen Batch besser lesbar (und lässt sich auch leicht nachträglich hinzufügen ) ...
Bitte warten ..
Mitglied: Olli1989
05.12.2012 um 08:40 Uhr
Der Quellordner ist richtig. Nur leider kopiert er die Dateeien in diesem Quellordner in alle Unterordnerstrukturen.
Bitte warten ..
Mitglied: bastla
05.12.2012 um 20:41 Uhr
Hallo Olli1989!

Versuch es mal damit
01.
echo off & setlocal 
02.
set "QuellPfad=W:\Daten\Vorlagen" 
03.
set "Ordner=PublishSkripte" 
04.
set Zielpfade="W:\Daten\Rehadat-Elan","W:\Daten\Snapform" 
05.
 
06.
for %%i in (%Zielpfade%) do ( 
07.
    for /f "delims=" %%a in ('dir /s/b/ad "%%~i\%Ordner%" 2^>nul^|findstr /ivc:"%Quellpfad%\%Ordner%"') do ( 
08.
        rd /s /q "%%a" 
09.
        xcopy /e "%Quellpfad%\%Ordner%" "%%a\" 
10.
11.
12.
pause
Variablen sind übrigens u.a. dazu da, verwendet zu werden - anderenfalls sind auch die Prozentzeichen unnötig ...

Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...