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
GELÖST

Xcopy - Kopien im weiteren Zielordner speichern

Frage Entwicklung Batch & Shell

Mitglied: 88729

88729 (Level 1)

15.03.2010 um 09:28 Uhr, 5486 Aufrufe, 10 Kommentare

Ich versuche, eine Batch-Datei zu schreiben. Damit möchte ich mit Xcopy vom Quellordner Dateien in einen Ordner "Ziel1" kopieren. Der Parameter /D stellt sicher, dass nur die neuen oder geänderten Dateien kopiert werden. Das klappt gut.

Ich benötige die kopierten Dateien jedoch auch in einem Ordner "Ziel2". Dort werden sie in ein anderes Dateiformat konvertiert. In diesen Ordner ("Ziel2") sollen ausschließlich diejenigen Dateien kopiert werden, die bei dem jeweiligen Aufruf des Befehls Xcopy in den Ordner "Ziel1" kopiert wurden.
Mitglied: bastla
15.03.2010 um 09:45 Uhr
Hallo MaexchenS und willkommen im Forum!

In diesem Fall kannst Du Dir den Schalter "/L" zunutze machen, um vorweg eine Liste der benötigten Dateien zu erzeugen - diese Liste kannst Du dann per "for /f"-Schleife abarbeiten und jeweils beide Kopiervorgänge ausführen ...

Grüße
bastla
Bitte warten ..
Mitglied: edepfau
15.03.2010 um 12:46 Uhr
da gibt es einige Wege...
ich würde in einem Batchfile
a) alle Dateien in Ziel1 das A-Attribut zurücksetzen: "attrib -A ziel1\*.*"
b) xcopy nach Ziel1 durchführen
c) xcopy mit den selben Optionen plus "/A" von Ziel1 nach Ziel2

Vorteil: xcopy kann mehr als der copy-Befehl, z.B. ACLs und hidden Attribute erhalten, oder rekursiv kopieren (Bäume).

Ede
Bitte warten ..
Mitglied: 88729
16.03.2010 um 05:59 Uhr
Hallo bastla,

danke für die schnelle Hilfe! Ich habe das gleich ausprobiert. Die Batchdatei hat die Dateien vom Quelllaufwerk wunschgemäß sowohl in das Laufwerk Ziel1 als auch Ziel2 geschrieben. Als ich die Stapelverarbeitungsdatei ein zweites mal aufgerufen habe, hat es jedoch leider nicht nur die zwischenzeitlich im Quelllaufwerk hinzugekommenen Dateien kopiert, sondern wiederrum alle dort gespeicherten Dateien (rund 15.000!). Ich habe also einen Fehler bei der Anwendung von FOR gemacht.

Kann mir jemand helfen, diesen Fehler zu korrigieren? Meine Batchdatei lautet auszugsweise:

set Quelle="T:"
set Ziel1="c:\k13$_Mir\001"
set Ziel2="C:\k13$_Mir\doc"
FOR /F %%l IN ('xcopy /s /d /l %Quelle% %Ziel1%') DO Xcopy /d /y %%l %Ziel1%
cd /d %Ziel2%
rename *.009 *.doc 2>nul

Hinzufügen muss ich noch: %Quelle% ist ein Laufwerk mit zahllosen Ordnern und Unterordnern (und RENAME funktioniert - meines (geringen) Wissens nach - nur auf einer Ordnerebene.

Sorry für die Nachfrage, aber alleine bekomme ich es nicht hin!

Grüße
MaexchenS
Bitte warten ..
Mitglied: bastla
16.03.2010 um 13:28 Uhr
Hallo MaexchenS!

Falls ich Dich richtig verstehe, könntest Du es so versuchen:
01.
set Quelle="T:\" 
02.
set Ziel1="C:\k13$_Mir\001" 
03.
set Ziel2="C:\k13$_Mir\doc" 
04.
for /f %%i in ('xcopy /s /d /l /y %Quelle% %Ziel1%') DO ( 
05.
    xcopy /y "%%i" %Ziel1% 
06.
    xcopy /y "%%i" %Ziel2% 
07.
08.
for /r %Ziel2% %%i in (*.009) do ren "%%i" *.doc
Grüße
bastla
Bitte warten ..
Mitglied: 88729
17.03.2010 um 09:06 Uhr
Hallo bastla,

leider kein Erfolg. Die Batchdatei kopiert zwar die Daten in die beiden Zielordner, bei einem erneuten Ausführen kopiert es jedoch nicht nur die im Quellordner neu hinzugekommenen Dateien, sondern alle dort vorhandenen Files (also auch die, die bereits in den Zielordnern stehen).

Grüße
MaexchenS
Bitte warten ..
Mitglied: bastla
17.03.2010 um 11:58 Uhr
Hallo MaexchenS!

Da beim Kopieren in diesem Fall das Änderungsdatum verglichen wird, wäre das Kopieren der bereits vorhandenen Dateien nur mit einem neueren Datum (inkl Uhrzeit) der Quelldatei zu erklären ...

Ein Unterschied könnte sich zB ergeben, wenn die Partition T: mit FAT32 formatiert ist.
Wenn das Ziel wäre, tatsächlich nur Dateien zu kopieren, die im Zielordner noch nicht vorhanden sind, könntest Du es so versuchen:
01.
set Quelle="H:\ADM" 
02.
set Ziel1="K:\k13$_Mir\001" 
03.
set Ziel2="K:\k13$_Mir\doc" 
04.
 
05.
set Ex=%temp%\Exclude.txt 
06.
xcopy /s /u /l /y %Quelle% %Ziel1%>%Ex% 
07.
xcopy /s /exclude:%Ex% %Quelle% %Ziel1% 
08.
xcopy /s /exclude:%Ex% %Quelle% %Ziel2%
Grüße
bastla
Bitte warten ..
Mitglied: edepfau
17.03.2010 um 12:14 Uhr
(liest das hier einer?)
Ich hatte ja bereits vorgeschlagen, das A-Attribut zu benutzen. Dazu ist es ja da.

Das hier sollte funktionieren:
01.
set Quelle="T:\"  
02.
set Ziel1="C:\k13$_Mir\001"  
03.
set Ziel2="C:\k13$_Mir\doc" 
04.
set OPTS=/s /m /y /i /h /r /k  
05.
xcopy %OPTS% %Quelle% %Ziel1% 
06.
xcopy %OPTS% %Ziel1% %Ziel2% 
07.
for /r %Ziel2% %%d in (.) do ren %%d\*.009 *.doc
Bei den OPTS wird berücksichtigt, dass die Attribute mitkopiert werden (z.B. readonly).
Nebenbei, die Schleife für das rename ist so geschrieben, dass der Befehl nur einmal pro Verzeichnis ausgeführt werden muss, und nicht 15.000 mal.

HTH,
Ede
Bitte warten ..
Mitglied: 88729
28.03.2010 um 17:05 Uhr
Hallo bastla,

die Partition T: ist mit NTFS formatiert.

Aber dein Vorschlag mit der Exclude-Funktion hat funktioniert! Es werden nur noch die neu hinzugekommenen Dateien kopiert. Danke für deine Hilfe!

Gruß
MaexchenS
Bitte warten ..
Mitglied: 88729
28.03.2010 um 17:11 Uhr
Hallo Ede,

doch doch, das hat einer gelesen (zumindest ich). Ich habe deinen Vorschlag auspropbiert. Er funktioniert (und ist sehr viel schneller als die Lösung über die Exclude-Funktion). Danke!!

Nur noch ganz kurz zum Hintergrund meiner Frage: Auf dem Quell-Lufwerk habe ich nur Leserechte. Dort sind Word-Dateien gespeichert, deren Extension .doc durch .00* (wobei * für eine Ziffer zwischen 0 und 9 steht) ersetzt worden ist. Dies hat zur Folge, dass bei den mir zur Verfügung stehenden Desktop-Suchprogramme (Copernic und Windows desktop search) die Vorschaufunktion nicht mehr korrekt arbeitet. Deshalb die Idee, die Dateien auf ein Laufwerk zu kopieren, auf dem ich Scheibrechte habe (also wieer die Dateikennung .doc vewenden kann). Um die Belstung des Systems durch Kopieren und Indexieren zu veringern ist es mir wichtig, nur die neu hinzugekommenen Dateien zu kopieren.

Danke & Gruß
MaexchenS
Bitte warten ..
Mitglied: bastla
28.03.2010 um 18:54 Uhr
Hallo MaexchenS und edepfau!

Schön, dass das Ganze jetzt funktioniert - etwas überraschend ist dabei, dass ein "xcopy /m" in einem Quellpfad, für welchen nur Leserechte bestehen, das Archiv-Flag rücksetzen kann ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Xcopy Auswertung in Variable speichern
Frage von NightythehawkBatch & Shell10 Kommentare

Hallo Admins & Co, bin gerade auf der Suche nach einer Möglichkeit die Auswertung meiner Batchdatei in eine Variable ...

Batch & Shell
Namensänderung beim kopieren (xcopy)
gelöst Frage von Groja2Batch & Shell12 Kommentare

Hallo zusammen, ich hatte bereits einen Beitrag geschrieben ) wie ich eine Datei ersetzen kann. Bin dann abschließed dazu ...

Windows Server
Performance beim Kopieren mit Komprimierten Zielordnern 2012 R2
gelöst Frage von HenereWindows Server6 Kommentare

Hallo, ich bin derzeit am Kopiergeschwindigkeiten übers Netz am Testen. Ziel: 2012R2 auf ASUS Z10PE -16WS mit Xeon 2620v3 ...

Batch & Shell
Dateinamen mit Leerzeichen mit xcopy in einer Variable kopieren
gelöst Frage von chainsawBatch & Shell8 Kommentare

Hallo Gemeinde, Für euch bestimmt ein banales Problem: Ich möchte mit folgendem Script aus einem bestimmten Ordner alle Dateien ...

Neue Wissensbeiträge
Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 5 StundenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 5 StundenSicherheit6 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 6 StundenSicherheit5 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Sicherheit

Meltdown und Spectre: Die machen uns alle was vor

Information von Frank vor 6 StundenSicherheit12 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Heiß diskutierte Inhalte
Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von 92943Windows 1031 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...

Batch & Shell
Anmeldevorgang für Informatikraum (Schule) unter Windows
gelöst Frage von IngenieursBatch & Shell29 Kommentare

Hey zusammen, ich werde in naher Zukunft den Informatik Raum meiner jetzigen Schule von dem aktuellen Betreiber übernehmen (Vertrag ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...

Netzwerkgrundlagen
Welches Modem für VDSL 50000 der T-Com
Frage von Windows10GegnerNetzwerkgrundlagen19 Kommentare

Hallo, ein Kollege von mir will sich VDSL50000 von der T-Com holen, um daran einen Server zu betreiben. Ich ...