"We are back" « oc.at

Komandozeilen Befehl für WinXP gesucht

kleinerChemiker 09.07.2008 - 15:24 1416 13
Posts

kleinerChemiker

Here to stay
Avatar
Registered: Feb 2002
Location: Wien
Posts: 4328
Ich habe in einem Hauptrdner etliche Unterordner. Jetzt würde ich gerne alle Files in diesen Unterordnern in den Hauptordner verschieben.

kann man das irgendwie mit dem copy-befehl machen?

tia

MIK
Bearbeitet von kleinerChemiker am 10.07.2008, 10:29 (solved)

Brom

Addicted
Avatar
Registered: Oct 2003
Location: Graz
Posts: 411
mit dem ein gebauten copy AFAIK sicher net, aber vielleicht mit robocopy
http://www.wintotal.de/Artikel/robocopy/robocopy.php

hth

Obermotz

Fünfzylindernazi
Avatar
Registered: Nov 2002
Location: OÖ/RI
Posts: 5262
Müsste mit xcopy gehen:

/A Kopiert nur Dateien mit gesetztem Archivattribut,
ändert das Attribut nicht.
/M Kopiert nur Dateien mit gesetztem Archivattribut,
setzt das Attribut nach dem Kopieren zurück.
/D:M-T-J Kopiert nur die an oder nach dem Datum geänderten Dateien.
Ist kein Datum angegeben, werden nur Dateien kopiert,
die neuer als die bestehenden Zieldateien sind.
/EXCLUDE:Datei1[+Datei2][+Datei3]...
Gibt eine Liste von Zeichenfolgen an. Jede Zeichenfolge
sollte in einer einzelnen Zeile in der Datei angezeigt werden.
Wenn eine der Zeichenfolgen Teil des absoluten Verzeichnispfads
der zu kopierenden Datei ist, wird diese Datei vom
Kopiervorgang ausgeschlossen. Beispiel: Bei der
Zeichenfolge \obj\ oder .obj werden alle Dateien
unterhalb des Verzeichnisses OBJ bzw. alle Dateien mit
der Erweiterung .obj vom Kopiervorgang ausgeschlossen.
/P Fordert vor dem Erstellen jeder Zieldatei eine Bestätigung.
/S Kopiert Verzeichnisse und Unterverzeichnisse, die nicht leer sind.
/E Kopiert alle Unterverzeichnisse (leer oder nicht leer).
Wie /S /E. Mit dieser Option kann die Option /T geändert werden.
/V Überprüft jede neue Datei auf Korrektheit.
/W Fordert vor dem Beginn des Kopierens zu einem Tastendruck auf.
/C Setzt das Kopieren fort, auch wenn Fehler auftreten.
/I Falls Ziel nicht vorhanden ist und mehrere Dateien kopiert
werden, nimmt XCOPY an, dass das Ziel ein Verzeichnis ist.
/Q Zeigt beim Kopieren keine Dateinamen an.
/F Zeigt die Namen der Quell- und Zieldateien beim Kopieren an.
/L Listet die Dateien auf, die ggf. kopiert werden.
/G Ermöglicht das Kopieren von verschlüsselten Dateien auf ein
Ziel wo Verschlüsselung nicht unterstützt wird.
/H Kopiert auch Dateien mit den Attributen 'Versteckt' und 'System'.
/R Überschreibt schreibgeschützte Dateien.
/T Erstellt die Verzeichnisstruktur, kopiert aber keine Dateien.
Leere oder Unterverzeichnisse werden nicht kopiert. Um auch diese
zu kopieren, müssen Sie die Optionen /T /E angeben.
/U Kopiert nur Dateien, die im Zielverzeichnis vorhanden sind.
/K Kopiert Attribute. Standardmäßig wird 'Schreibgeschützt' gelöscht.
/N Beim Kopieren werden die erzeugten Kurznamen verwendet.
/O Kopiert Informationen über den Besitzer und ACL.
/X Kopiert Dateiüberwachungseinstellungen (bedingt /O).
/Y Unterdrückt die Aufforderung zur Bestätigung, dass eine
vorhandene Zieldatei überschrieben werden soll.
/-Y Fordert zur Bestätigung auf, dass eine bestehende
Zieldatei überschrieben werden soll.
/Z Kopiert Dateien in einem Modus, der einen Neustart ermöglicht.

mesca

Big d00d
Avatar
Registered: Jun 2007
Location: Wien
Posts: 348
Gib mal "xcopy /?" ein, soweit ich das gelsen habe kannst du damit aber maximal aus einem unterodner kopieren. es sei denn man kann mehrere sources angeben.

owned :/
Bearbeitet von mesca am 09.07.2008, 16:46

Polyfire

Addicted
Avatar
Registered: Feb 2007
Location: .
Posts: 415
Müsste mit Kombination von for und copy machbar sein. Genaue Syntax hab ich jetzt leider nicht bei der Hand. Schau dir mal "help for" an

freezer90

Ex SE Student
Avatar
Registered: Aug 2002
Location: Linz
Posts: 768
Code:
@ECHO OFF
FOR /F "" %%X IN ('DIR /A:D /B') DO (
  CD %%X
  COPY *.* ..
  CD ..
)

so sollts gehen, wenns nur unterverzeichnisse gibt (und keine unterunterverzeichnisse ;))

that

Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11346
Zitat von freezer90
und keine unterunterverzeichnisse

in diesem Fall ginge es mit for /r

kleinerChemiker

Here to stay
Avatar
Registered: Feb 2002
Location: Wien
Posts: 4328
danke :)

kleinerChemiker

Here to stay
Avatar
Registered: Feb 2002
Location: Wien
Posts: 4328
Zitat von that
in diesem Fall ginge es mit for /r

wie geht das mit /R?

ich brings leider nicht hin :(

tia

MIK

Römi

Hausmeister
Avatar
Registered: Feb 2001
Location: Bez. Tulln
Posts: 5369
Mit der Powershell könntest du's so machen:
(in dem verzeichnis starten in das du hineinverschieben willst)

Code: PHP
$location = (get-location).tostring()
get-childitem -recurse | where-object {$_.getType().name -eq "FileInfo"} | set-variable filelist
foreach($file in $filelist){
	move-item -path $file.FullName -destination $location
}

habs probiert, es funktioniert.
Musst halt .net 2.0 und Microsoft Powershell installieren falls dus nicht hast ;)

kleinerChemiker

Here to stay
Avatar
Registered: Feb 2002
Location: Wien
Posts: 4328
gut zu wissen, danke
das würde unenedlich viele unterverzeichnise schaffen?

Römi

Hausmeister
Avatar
Registered: Feb 2001
Location: Bez. Tulln
Posts: 5369
unendlich wohl nicht ( ;) ), aber es ist rekursiv und geht quasi den ganzen Verzeichnisbaum durch von dem ordner aus wo du's startest. Also Ja.

Noch was, es verschiebt (move), weil du geschrieben hast du willst sie verschieben.

that

Hoffnungsloser Optimist
Avatar
Registered: Mar 2000
Location: MeidLing
Posts: 11346
Zitat von kleinerChemiker
wie geht das mit /R?

ich brings leider nicht hin :(

Wie hast es probiert? Was sagt die Hilfe dazu? (for /?)

freezer90

Ex SE Student
Avatar
Registered: Aug 2002
Location: Linz
Posts: 768
Code:
FOR /R . %%X IN (*.*) DO COPY "%%X" .
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz