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

Dateien kopieren mit anderer Ordnerstruktur

Frage Entwicklung Batch & Shell

(Level 1)

13.02.2007, aktualisiert 14.02.2007, 3768 Aufrufe, 6 Kommentare

Hallo und schönen Nachmittag!

Ich suche eine Batchdatei, die Dateien kopiert, und das in folgender Weise:

d:\dir01\test01\test01.txt
d:\dir01\test02\test02.txt
d:\dir01\test03\test03.txt

Die Dateien innerhalb dieser Verzeichnisse sollten nach e:\ kopiert werden, allerdings in folgende Struktur:

e:\anderesdir01\test01\subdir\test01.txt
e:\anderesdir01\test02\subdir\test02.txt
e:\anderesdir01\test02\subdir\test03.txt

Das "normale" kopieren in die gleiche Struktur wäre kein Problem, wie kann ich aber am Ziellaufwerk noch einen Unterordner "einschieben"?

Ich dachte, dass ich mit einer for Schleife arbeiten kann?

for /R "d:\dir01" %%f in (*.txt) do (
echo "%%f"
)

Leider bekomme ich den "letzen" Ordner nicht heraus!?
Ich bräuchte also die Teile "test01" und "test01.txt".

DANKE für jeden Tipp
baracuda
Mitglied: bastla
13.02.2007 um 17:58 Uhr
Hallo baracuda und willkommen im Forum!

Versuch es mal so:
01.
@echo off & setlocal 
02.
set "Source=D:\Dir01" 
03.
set "Target=E:\AnderesDir01" 
04.
set "Sub=SubDir" 
05.
for /f "delims=" %%f in ('dir /b /ad %Source%\*.*') do ( 
06.
	for /f "delims=" %%i in ('dir /b /ad "%Source%\%%f\*.*"') do ( 
07.
		xcopy /s /i /y "%Source%\%%f\%%i\*.*" "%Target%\%%f\%Sub%\%%i" >nul 
08.
09.
)
Damit werden alle Dateien aus der zweiten und ev darunter liegenden Verzeichnisebenen kopiert - falls so nicht gewünscht, die "xcopy"-Zeile anpassen: "/s" steht für "Kopieren auch der Unterverzeichnisse"; "*.*" ev auf "*.txt" abändern.

Grüße
bastla
Bitte warten ..
Mitglied: Biber
13.02.2007 um 18:22 Uhr
...oder, für Schreibfaulere, am CMD-Prompt eintippseln:

for /d %i in (d:\dir01\tes*) do @for %a in (%i\*.*) do @xcopy "%a" "E:%~pnxi\SubDir\"

Sollte auflösen zu...
xcopy "d:\dir01\test01\test01.txt" "E:\dir01\test01\SubDir\" etc.

[Wie immer ungetestet]

Gruss
Biber
Bitte warten ..
Mitglied: bastla
14.02.2007 um 10:51 Uhr
Hallo baracuda!

Anscheinend habe ich zu tief "gegraben" - die zweite Schleife versucht, die Unterordner der Ordner aus der ersten Schleife zu finden - bei näherem Hinsehen liegen dort aber schon die Dateien - richtig?

Dann könnte diese zweite Schleife entfallen und das "xcopy" etwa so aussehen:
01.
xcopy /s /i /y "%Source%\%%f\*.*" "%Target%\%Sub%\%%f" >nul
Grüße
bastla
Bitte warten ..
Mitglied: bastla
14.02.2007 um 11:48 Uhr
Hallo baracuda!

Für ein Löschen nach erfolgreichem Kopieren (darum "&&") könnte das dann so aussehen:
01.
@echo off & setlocal 
02.
set "Source=d:\temp\vod" 
03.
set "Target=n:\temp" 
04.
set "Sub=test" 
05.
for /f "delims=" %%f in ('dir /b /ad "%Source%\*.*"') do ( 
06.
    xcopy /s /i /y "%Source%\%%f\*.*" "%Target%\%%f\%Sub%\" >nul && del /q "%Source%\%%f\*.*" 
07.
)
Grüße
bastla

[Edit] Reihenfolge bei Zielverzeichnis auf "%%f\%Sub%\" lt obigem baracuda-Edit/Beispiel geändert [/Edit]
Bitte warten ..
Mitglied: bastla
14.02.2007 um 14:02 Uhr
Hallo baracuda!

set "Source=d:\temp\beitraege 2005\vod"
Der Pfad steht doch schon unter Anführungszeichen?!
Negativ. Die obige "set"-Schreibweise ist ein "Biber-Special" und dient dazu, bei Bedarf sogar führende Leerstellen und ähnliches Zeugs in die Variable zu bekommen - ich verwende Sie eigentlich standardmäßig, auch wenn nicht unbedingt erforderlich.

Die Anführungszeichen selbst werden dadurch allerdings nicht in der Variable gespeichert, sondern dann im Batch gezielt für gesamte Pfade gesetzt.

In meiner letzten Variante von 11:48:04 Uhr sollten eigentlich alle nötigen Anführungszeichen vorhanden sein, so dass Du damit keine Probleme haben dürftest - oder doch?

Grüße
bastla
Bitte warten ..
Mitglied: bastla
14.02.2007 um 15:31 Uhr
Hallo baracuda!

Wenn Du ganz oben beim Eröffnungsposting auf "Editieren" gehst, kannst Du im nächsten Fenster unten den Haken bei "Dieser Beitrag gilt als gelöst." setzen.

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Rechtliche Fragen
gelöst Vernatwortlichkeit Ordnerstruktur (5)

Frage von Peterz zum Thema Rechtliche Fragen ...

Batch & Shell
Dateien trotz Verwendung kopieren (2)

Frage von 112Timo zum Thema Batch & Shell ...

Vmware
gelöst Dateien auf eine VM im EXSi kopieren (3)

Frage von Stefan007 zum Thema Vmware ...

Webbrowser
gelöst Datei in Firefox Profilordner kopieren (9)

Frage von DarkScabs zum Thema Webbrowser ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Server-Hardware
HP DL380 G7: Booten vom USB via USB 3.1-PCI-e Karte möglich? (24)

Frage von Paderman zum Thema Server-Hardware ...

Windows 7
Bluesreens unternehmensweit (18)

Frage von SYS64738 zum Thema Windows 7 ...

LAN, WAN, Wireless
IP Adressen - Modem - Switch - Accesspoint (17)

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

Festplatten, SSD, Raid
gelöst Raid-Controller (Areca) Datenverlust trotz R5 (16)

Frage von sebastian2608 zum Thema Festplatten, SSD, Raid ...