WinFuture-Forum.de: Frage Zu Cmd Befehl: Xcopy - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Windows XP
Seite 1 von 1

Frage Zu Cmd Befehl: Xcopy


#1 Mitglied ist offline   InV4d3r 

  • Gruppe: Mitglieder
  • Beiträge: 5
  • Beigetreten: 29. Juni 10
  • Reputation: 0

geschrieben 29. Juni 2010 - 07:39

Hi,

bin auf der Suche nach einer lösung für mein bash script, und zwar muss es folgendes können:

ordner + unterordner von A nach B kopieren, aber nicht alle unterordner von A, sondern nur einen bestimmten, sagen wir, der unterordner heißt "test".

und natürlich alle dateien, die sich in dem ordner befinden, weiß jemand weiter?

Danke für eure hilfe!
0

Anzeige



#2 Mitglied ist offline   Ponte 

  • Gruppe: aktive Mitglieder
  • Beiträge: 558
  • Beigetreten: 18. Dezember 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Niederbayern
  • Interessen:Politik, PC, Krav Maga, Fußball, Fitness

geschrieben 29. Juni 2010 - 07:47

Puhh mit dem Befehl xcopy /E müsste es gehen, soweit ich mich jetz erinnern kann!

xcopy /E %Verzeichnisname\Test "Pfad fürs neue Verzeichnis"

Ponte
Dell XPS 15Z (Core i7, 16GB Ram, 512GB SSD)
Thermaltake Ponte (Core i7, 16GB, Geforce 570GTX, 4TB Raid 1)

~Politiker sind keine Lügner, denn um lügen zu können muss man Ahnung
haben, wovon man redet!~
0

#3 Mitglied ist offline   a s Y 

  • Gruppe: Mitglieder
  • Beiträge: 17
  • Beigetreten: 30. Juni 09
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Juelich
  • Interessen:Computer, Electronic Sports League, Playstation 3, Roller

geschrieben 29. Juni 2010 - 07:47

Ich weiß nicht genau, ob ich es richtig verstanden habe.
Du kannst doch ganz einfach durch eine absolute Pfadangabe einen bestimmten Ordner kopieren und verschieben.
Eingefügtes Bild
0

#4 Mitglied ist offline   InV4d3r 

  • Gruppe: Mitglieder
  • Beiträge: 5
  • Beigetreten: 29. Juni 10
  • Reputation: 0

geschrieben 29. Juni 2010 - 07:50

Beitrag anzeigenZitat (a s Y: 29.06.2010, 07:47)

Ich weiß nicht genau, ob ich es richtig verstanden habe.
Du kannst doch ganz einfach durch eine absolute Pfadangabe einen bestimmten Ordner kopieren und verschieben.


Also, es handelt sich um ca. 500 Ordner, die alle Unterordner haben. Alle 500 Ordner haben einen Unterordner, der den selben Namen hat, zur Vereinfachung nennen wir diesen Unterordner "Test". Die restlichen Unterordner heißen verschieden.

Jetzt möchte ich diese 500 Ordner + die jeweiligen 500 Unterordner namens "Test" woanders hin kopieren. Die restlichen Unterordner sollen da bleiben wo sie sind.
0

#5 Mitglied ist offline   a s Y 

  • Gruppe: Mitglieder
  • Beiträge: 17
  • Beigetreten: 30. Juni 09
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Juelich
  • Interessen:Computer, Electronic Sports League, Playstation 3, Roller

geschrieben 29. Juni 2010 - 07:53

Ich bastel mir mal schnell eine ähnliche Testumgebung.

Edit: Das kann eigentlich gar nicht funktionieren, da du nach dem Kopieren von dem Ordner "Test" dann versucht 500 mal den selben Ordner in einem Verzeichnis zu speichern.
500 mal gleicher Name = Windows streikt.

Dieser Beitrag wurde von a s Y bearbeitet: 29. Juni 2010 - 08:08

Eingefügtes Bild
0

#6 Mitglied ist offline   InV4d3r 

  • Gruppe: Mitglieder
  • Beiträge: 5
  • Beigetreten: 29. Juni 10
  • Reputation: 0

geschrieben 29. Juni 2010 - 08:19

Beitrag anzeigenZitat (a s Y: 29.06.2010, 07:53)

Ich bastel mir mal schnell eine ähnliche Testumgebung.

Edit: Das kann eigentlich gar nicht funktionieren, da du nach dem Kopieren von dem Ordner "Test" dann versucht 500 mal den selben Ordner in einem Verzeichnis zu speichern.
500 mal gleicher Name = Windows streikt.


Nein, du verstehst mich falsch.

Hier mal ein Bsp, siehe Bild:

http://img88.imagesh.../f/screenml.jpg

Ein Ordner "kunden" (Quellordner) und ein Ordner "kunden_backup" (zielordner). im ordner "kunden" gibt es 3 Unterordner "1", "2", "3", mit jeweils verschiedenen Unterordnern, aber jeweils einen Ordner, der gleich heißt, und zwar "test".

Jetzt möchte ich, dass das so kopiert wird, dass im ordner "kunden_backup" auch die 3 Ordner "1", "2", "3" vorhanden sind, aber NUR mit den jeweiligen Unterordner "test".

Hoffe das war etwas verständlicher.

@ Ponte:

Daher wird Windows nicht streiken, weil es ja nicht dasselbe Verzeichnis ist, in der es reinkopiert.

Dieser Beitrag wurde von InV4d3r bearbeitet: 29. Juni 2010 - 08:20

0

#7 Mitglied ist offline   Bullayer 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.976
  • Beigetreten: 08. Februar 08
  • Reputation: 34
  • Geschlecht:Männlich
  • Wohnort:DE-RLP-COC

geschrieben 29. Juni 2010 - 08:32

Sieh dir mal das SyncToy von Microsoft an.
Sonntags kein Support - (2. Mose 20,8-11)
0

#8 Mitglied ist offline   Ponte 

  • Gruppe: aktive Mitglieder
  • Beiträge: 558
  • Beigetreten: 18. Dezember 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Niederbayern
  • Interessen:Politik, PC, Krav Maga, Fußball, Fitness

geschrieben 29. Juni 2010 - 10:47

Das mit dem streike hab ich nicht geschrieben :-)
Also du willst du Ordner kopieren und nur den Unterordner "Test"!

Das wirst mit ner Batchdatei und einem Befehl nicht machen können...
Da müsstest Ordner für Ordner mit nem eigenen xcopy Befehl pro Zeile schreiben
Anschließend wird halt alles per einer Batch Datei ausgeführt...
Dell XPS 15Z (Core i7, 16GB Ram, 512GB SSD)
Thermaltake Ponte (Core i7, 16GB, Geforce 570GTX, 4TB Raid 1)

~Politiker sind keine Lügner, denn um lügen zu können muss man Ahnung
haben, wovon man redet!~
0

#9 Mitglied ist offline   InV4d3r 

  • Gruppe: Mitglieder
  • Beiträge: 5
  • Beigetreten: 29. Juni 10
  • Reputation: 0

geschrieben 29. Juni 2010 - 14:48

Also ich hab es mit synctoy gemacht, war zwar auch sehr sehr umständlich, aber hat funktioniert..
0

#10 Mitglied ist offline   Lofote 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.526
  • Beigetreten: 24. August 04
  • Reputation: 1

geschrieben 29. Juni 2010 - 15:16

Ponte hat definitiv unrecht. Bei xcopy ginge das indirekt über einen for-Befehl, der per copy (xcopy nicht benötigt) die bloßen Dateien des jeweiligen Verzeichnisses kopiert (falls die auch von Interesse sind und nur die unterordner auslassen willst), und dann per xcopy explizit den Unterordner Test jedes gefundenen Überordners kopiert. Ist ein 3-4-Zeiler als Batchdatei. Brauchst dus noch, oder bist mit SyncToy zufrieden?

Übrigens ist XCOPY weder ein CMD-Befehl (im Gegensatz zu COPY z.B.) noch hat das ganze mit bash-Skripten zu tun (ist kein Unix/Linux hier) :blink:...
0

#11 Mitglied ist offline   sosojaja 

  • Gruppe: aktive Mitglieder
  • Beiträge: 147
  • Beigetreten: 11. August 04
  • Reputation: 0

geschrieben 29. Juni 2010 - 16:48

Vermutlich wäre FreeFileSync die Lösung. Setze ich für ähnliches erfolgreich ein.
0

#12 Mitglied ist offline   InV4d3r 

  • Gruppe: Mitglieder
  • Beiträge: 5
  • Beigetreten: 29. Juni 10
  • Reputation: 0

geschrieben 30. Juni 2010 - 09:04

Beitrag anzeigenZitat (Lofote: 29.06.2010, 15:16)

Ponte hat definitiv unrecht. Bei xcopy ginge das indirekt über einen for-Befehl, der per copy (xcopy nicht benötigt) die bloßen Dateien des jeweiligen Verzeichnisses kopiert (falls die auch von Interesse sind und nur die unterordner auslassen willst), und dann per xcopy explizit den Unterordner Test jedes gefundenen Überordners kopiert. Ist ein 3-4-Zeiler als Batchdatei. Brauchst dus noch, oder bist mit SyncToy zufrieden?

Übrigens ist XCOPY weder ein CMD-Befehl (im Gegensatz zu COPY z.B.) noch hat das ganze mit bash-Skripten zu tun (ist kein Unix/Linux hier) :blink:...


Habe jetzt zwar schon alles rüberkopiert, aber mich als Techniker würde es trotzdem interessieren, wie es funktionieren würde!
0

#13 Mitglied ist offline   Lofote 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.526
  • Beigetreten: 24. August 04
  • Reputation: 1

geschrieben 30. Juni 2010 - 10:46

for /f %%i in ('dir /b C:\SourcePath /ad') do (
 md D:\TargetPath\%%i
 md D:\TargetPath\%%i\test
 xcopy C:\SourcePath\%%i\test D:\TargetPath\%%i\test /e /y /z /c /h /r /d /i
 copy /y C:\SourcePath\%%i\*.* D:\TargetPath\%%i
)


Zeile 1 enumiert die Unterverzeichnisse unter C:\SourcePath, die Ergebnisse sind in der Schleife unter %%i abrufbar.
Zeile 2+3 erstellt die Unterordner beim Ziel (wenn es die Ordner schon gibt, gibts ne Fehlermeldung, das Skript geht aber trotzdem weiter)
Zeile 4 kopiert ausschließlich den Ordner "test" inkl. Unterordner rüber.
Zeile 5 kopiert noch den Inhalt des Hauptordners rüber (falls ich das richtig interpretiert habe, dass das zusätzlich gewünscht ist, wenn nicht, einfach die Zeile weglassen).
Zeile 6 beendet die for-Schleife.

P.S.: ich hab das nun nicht getestet, evtl. ist noch ein kleiner Tippfehler oder so irgendwo drin.

Dieser Beitrag wurde von Lofote bearbeitet: 30. Juni 2010 - 10:47

0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0