Top-Themen

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

Batch-Job - Ordner inkl. Unterordner kopieren und gleichzeitig umbenennen

Mitglied: timotheus123

timotheus123 (Level 1) - Jetzt verbinden

21.09.2011 um 09:31 Uhr, 4390 Aufrufe, 7 Kommentare

Hallo in die Runde,

leider verzweifele ich an einem Batch-Skript, was einfach nicht das tut was es soll. Vielleicht kann mir ja einer der Batch-Profis einen Tipp oder Ansatz geben, was ich falsch mache...

Was ich möchte:
Alle Ordner unterhalb c:\bilder_temp inkl. deren Unterverzeichnisse mit geändertem Verzeichnisnamen (Präfix: 01#) nach p:\content kopieren.
Die enthaltenen Dateien sollen natürlich mit kopiert werden eine Umbenennung soll hier aber nicht erfolgen.

Was ich bisher habe:
set "temp=c:\bilder_temp"
set "ziel1=p:\content"
FOR /F "tokens=*" %%i in ('Dir /AD /B %temp%') do xcopy "%temp%\%%i" "%ziel1%\01#%%i" /D /E /Y /I

Leider werden hierbei nicht die Unterordner mit umbenannt, sprich es fehlt der Präfix. Vermutlich ist es doch komplizierter als ich dachte.

Wichtig ist halt, das die Dateien nicht erst nach dem xcopy umbenannt werden, da im Zielordner bereits einige der zu kopierenden Ordner (mit dem Präfix) enthalten sein könnten. Sonst würde ich ja doppelt kopieren bzw. hätte dann bei einem späteren rename probleme weil der ordner bereits existiert.

Ich hoffe Ihr könnt mir weiterhelfen.

Liebe Grüße
Timo
Mitglied: Skyemugen
21.09.2011 um 09:53 Uhr
Aloha,

logisch werden die Unterordner nicht mit umbenannt.

Was macht denn dein Befehl?
Listet alle Verzeichnisse der ersten Ebene in %temp% auf und kopiert diese Verzeichnisse nach %Ziel1% mit dem Präfix. Punkt, mehr nicht. Die Unterordner werden umbenennungstechnisch gar nicht angefasst, da xcopy nun einmal die Hauptverzeichnisse komplett kopiert und dabei nur der Hauptverzeichnissname angefasst wird.

Nun meine Frage, ob die (Unter)Verzeichnisse nicht auch erst umbenannt und dann verschoben / kopiert werden können, wobei, wenn die Antwort Ja lauten würde, ich dich auf die Suchfunktion verweisen würde, da beim ständigen Durchkauen derselben Materie unsere Zähne abstumpfen.

greetz André

edit:
Wobei man natürlich auch nach deinem groben xcopy die Umbenennung dort vollziehen könnte, da das Hauptverzeichnis bereits einmalig ist, kann es auch keine Doppelungen unterhalb geben, wobei ich mich dann wieder frage, wozu noch die Unterverzeichnisse umbenennen?
Bitte warten ..
Mitglied: timotheus123
21.09.2011 um 10:04 Uhr
Zitat von Skyemugen:
Aloha,

logisch werden die Unterordner nicht mit umbenannt.

Was macht denn dein Befehl?
Listet alle Verzeichnisse der ersten Ebene in %temp% auf und kopiert diese Verzeichnisse nach %Ziel1% mit dem Präfix. Punkt,
mehr nicht. Die Unterordner werden umbenennungstechnisch gar nicht angefasst, da xcopy nun einmal die Hauptverzeichnisse komplett
kopiert und dabei nur der Hauptverzeichnissname angefasst wird.

Nun meine Frage, ob die (Unter)Verzeichnisse nicht auch erst umbenannt und dann verschoben / kopiert werden können, wobei,
wenn die Antwort Ja lauten würde, ich dich auf die Suchfunktion verweisen würde, da beim ständigen Durchkauen
derselben Materie unsere Zähne abstumpfen.

greetz André


Hallo André,

sorry bin halt was Batch Skripte angeht ziemlicher Laie, aber ich habe große Hoffnung das Du mir evtl. weiterhelfen kannst.

Nein, also die (Unter)Verzeichnisse dürfen in dem Temp Verzeichnis nicht vorab umbenannt und dann kopiert bzw. verschoben werden, die müssen exakt so bleiben wie sie sind, weil sonst an anderer Stelle Probleme auftauchen.

Sonst hätte ich natürlich über die Forensuche schon längst die Antwort gefunden und würde hier nicht nerven

Hättest Du evtl. eine Idee wie man das lösen kann?

Vielen Dank
Timo
Bitte warten ..
Mitglied: Skyemugen
21.09.2011 um 10:15 Uhr
Aloha,

Hättest Du evtl. eine Idee wie man das lösen kann?

hast du auch mein edit (was noch lange vor deinem Kommentar dastand) oben gelesen?

Wobei mich deine Aussage verwirrt:

Wichtig ist halt, das die Dateien nicht erst nach dem xcopy umbenannt werden, da im Zielordner bereits einige der zu kopierenden Ordner (mit dem Präfix) enthalten sein könnten.

Wenn bereits Verzeichnisse mit 01# vorhanden sein könnten, warum willst du dann wieder Verzeichnisse mit 01# benennen, wenn du Doppelungen vermeiden willst *grübel*.

Eventuell interpretiere ich das auch falsch, darum mache ich mal ein Beispiel zur Nachfrage:

%temp%\Ordner_1\Unterordner_1\Unterunterordner_1 soll jetzt kopiert werden und dann nach

%Ziel1%\01#Ordner_1\01#Unterordner_1\01#Unterunterordner_1 kopiert/umbenannt werden (technisch gesehen, wird bei xcopy ja nicht umbenannt), soweit klar aber

existiert im Ziel jetzt bereits ein Verzeichnis

%Ziel1%\Ordner_1\Unterordner_1\Unterunterordner_1, genügt es doch, wenn man die kopierte Struktur so lässt wie bei dir jetzt mit deinem Code

%Ziel1%\01#Ordner_1\Unterordner_1\Unterunterordner_1 oder verstehe ich hier etwas falsch?

greetz André
Bitte warten ..
Mitglied: timotheus123
21.09.2011 um 10:27 Uhr
Zitat von Skyemugen:
Aloha,

> Hättest Du evtl. eine Idee wie man das lösen kann?

hast du auch mein edit (was noch lange vor deinem Kommentar dastand) oben gelesen?

Wobei mich deine Aussage verwirrt:

> Wichtig ist halt, das die Dateien nicht erst nach dem xcopy umbenannt werden, da im Zielordner bereits einige der zu
kopierenden Ordner (mit dem Präfix) enthalten sein könnten.

Wenn bereits Verzeichnisse mit 01# vorhanden sein könnten, warum willst du dann wieder Verzeichnisse mit 01#
benennen, wenn du Doppelungen vermeiden willst *grübel*.

Eventuell interpretiere ich das auch falsch, darum mache ich mal ein Beispiel zur Nachfrage:

%temp%\Ordner_1\Unterordner_1\Unterunterordner_1 soll jetzt kopiert werden und dann nach

%Ziel1%\01#Ordner_1\01#Unterordner_1\01#Unterunterordner_1 kopiert/umbenannt werden (technisch gesehen, wird bei xcopy ja
nicht umbenannt), soweit klar aber

existiert im Ziel jetzt bereits ein Verzeichnis

%Ziel1%\Ordner_1\Unterordner_1\Unterunterordner_1, genügt es doch, wenn man die kopierte Struktur so lässt wie bei
dir jetzt mit deinem Code

%Ziel1%\01#Ordner_1\Unterordner_1\Unterunterordner_1 oder verstehe ich hier etwas falsch?

greetz André


Hi Andre,

erstmal DANKE für Deine Geduld.

Also die 01# (der Prefix vor dem eigentlichen Ordnernamen) ist gedacht als Sortierschlüssel. In den jeweiligen Unterverzeichnissen im Ziel existieren mitunter schon weitere Unterordner mit anderem Prefix z.B. 02#. Das ganze ist deswegen so gelöst weil es sich um Bilderordner handelt die in einer bestimmten Reihenfolge (sortier nach Prefix) von einem anderen System ausgelesen werden sollen, das zwingend diesen Prefix voraussetzt. Daher müssen alle Ordner die ich auf das Ziel kopiere diesen Prefix erhalten.

Viele Grüße
Timo
Bitte warten ..
Mitglied: Skyemugen
21.09.2011 um 10:47 Uhr
Aloha Timo,

aha also doch mein edit
Wobei man natürlich auch nach deinem groben xcopy die Umbenennung dort vollziehen könnte, da das Hauptverzeichnis bereits einmalig ist,
da du ja schreibst
im Ziel existieren mitunter schon weitere Unterordner mit anderem Prefix

Da bleibt mir nur noch die Nachfrage: Würde außer im Prefix das Rautesymbol auch in anderen Verzeichnisnamensbereichen vorhanden sein? Wenn nicht, ließe sich die Umbenennung in der Tat einfach nach dem xcopy vollziehen, indem man die Unterordner von unten angefangen umbenennt aber dabei jene mit # im Namen ignoriert (dazu hatten wir erst etwas am 8. August 2011 etwas im Forum).

greetz André

P.S.: Zitiere bitte nicht immer gesamte Postings, danke
Bitte warten ..
Mitglied: timotheus123
21.09.2011 um 11:09 Uhr
Hi André,

nein die Raute ist nur im Prefix vorhanden.
Ich habe mir zwar gerade den Beitrag vom 08.08. durchgelesen, steige aber ehrlich gesagt nicht durch.
Vor allem habe ich die Frage, was passiert mit neuen Ordnern, wenn ein Ordner mit #01 Prefix im Ziel bereits existiert.

z.B. c:\temp\ordnername soll nach p:\content\#01ordnername kopiert werden.
Dort existiert aber schon p:\content\#01ordnername
Wenn ich aber trotzdem neuen Dateien/Unterordner in meinem Order in der Quelle habe, die zum Ziel in den passenden #01 (Unter-)ordner kopiert werden müssen/sollen, wie stelle ich das dann an?

Hast Du einen Codeschnipsel für den xcopy Ansatz?

Beste Grüße
Timo
Bitte warten ..
Mitglied: Skyemugen
21.09.2011 um 11:27 Uhr
Aloha Timo, *mampf*

hm, das ist kein Problem, xcopy kopiert alles ins Ziel, wenn das Ziel auch schon existiert - was vielmehr (für meine momentane Vorgehensweise) stören würde, wenn ein Unterordner bereits mit Prefix vorhanden ist und da ich das Gefühl nicht loswerde, dass dies hier vorkommen kann *mampf* muss ich mir einen anderen Weg ausdenken *mampf*

greetz André

edit:

Um dir noch einmal meinen bisherigen Gedankengang *mampf* darzustellen:

xcopy nach %Ziel1%\01#Hauptordner und dann im 01#Hauptordner alle Verzeichnisse auflisten außer mit # im Namen, bis zur untersten Ebene ackern wie in diesem Thread, umbenennen bis zur obersten Ebene. Wenn allerdings dann auch schon vorhandene Unterordner mit dem Prefix *mampf* vorhanden sind, wird das doch so einfach eben nichts ^_^ (und dann weiß ich momentan auch nicht einfach weiter und werde mich wieder meiner Konstruktion widmen *gg*)
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Ordner inkl. Unterordner nach Dateien überprüfen

Frage von belfryBatch & Shell4 Kommentare

Hallo, ich bin neu hier im Forum und arbeite auch relativ neu als Administrator. Ich soll ein Batchskript schreiben, ...

Batch & Shell

Batch - Dateien mehrer Ordner kopieren in jeweilige Unterordner

gelöst Frage von mr-neoBatch & Shell7 Kommentare

Hallo zusammen, folgendes Vorhaben möchte ich durchführen. Ich denke, mit einem cmd Befehl bzw. einer *.bat Datei sollte das ...

Batch & Shell

Mittels Batch Ordner umbenennen und Dateien kopieren

gelöst Frage von held.christophBatch & Shell12 Kommentare

Guten Tag allerseits Ich bin absoluter Leihe und konnte Dank mehr oder weniger grossen Suche in den Foren bereits ...

Batch & Shell

Batch Ordner und Unterordner vergleichen

gelöst Frage von SPSmanBatch & Shell2 Kommentare

Hallo an alle, Ich suche nach einer Batchfunktion die mir Ordner und Unterordner Vergleicht und bei Ungleichheit das Archivbit ...

Neue Wissensbeiträge
Linux Netzwerk

Installation eines Logservers mit Loganalyzer als Debian-VM auf Hyper-V

Anleitung von lcer00 vor 10 StundenLinux Netzwerk

Zuerst sei auf den schönen Beitrag von aqui hier im Forum verwiesen, in dem die loganalyzer-installation bereits beschrieben ist: ...

Humor (lol)
Antennagate 2018
Information von magicteddy vor 10 StundenHumor (lol)2 Kommentare

Da haut der angekaute Elektronikhersteller die teuersten Geräte auf den Markt und bekommt anscheinend die Basics mal wieder nicht ...

Datenschutz

Die Datenkrake Google verlängert ihr Arme mal wieder ein wenig, automatische Anmeldung

Tipp von magicteddy vor 1 TagDatenschutz3 Kommentare

Benutzer mit einem Google Account und gespeicherten Zugangsdaten werden von chrome 69 automatisch bei Google angemeldet, natürlich alles zum ...

Verschlüsselung & Zertifikate
Meine Wissenssammlung zu Bitlocker
Erfahrungsbericht von DerWoWusste vor 2 TagenVerschlüsselung & Zertifikate3 Kommentare

Die Motivation für diesen Beitrag waren die vielen Posts rund um dieses Thema, die deutlich machen, wie viele Einzelaspekte ...

Heiß diskutierte Inhalte
E-Mail
Welche ist die beste E-Mail Groupware für die Zukunft?
Frage von ITCrowdSupporterE-Mail24 Kommentare

Guten Tag allerseits :) Ich möchte mich mit einer Frage heute mal an die Schwarmintelligenz wenden. Aktuell befasse ich ...

Firewall
Wesyb Offline
Frage von DkuehlbornFirewall14 Kommentare

Hallo Kollegen, ein Kunde hat von Wesyb die Sicherheitslösung im Einsatz. Seit August scheint deren Internetseite nicht mehr verfügbar ...

Video & Streaming
DVD auf Festplatte sichern
Frage von Thor01Video & Streaming13 Kommentare

Hallo, mittlerweile hat meine DVD Sammlung ein alter erreicht wo die eine oder andere DVD schon das Zeitliche gesegnet ...

Server-Hardware
Empfehlung für Hardware eines Software Routers
Frage von janosch12Server-Hardware12 Kommentare

Hallo Gemeinde, ich brauche von euch ein paar Tipps in Sachen Router-Hardware. Aktuell haben wir auf einem 2 HE ...