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

Ordner verschieben ist Zielordner gleich dann nur den Inhalt

Frage Entwicklung Batch & Shell

Mitglied: bodyparts

bodyparts (Level 2) - Jetzt verbinden

20.01.2011, aktualisiert 18.10.2012, 2892 Aufrufe, 11 Kommentare

Hallo,

ich möchte vom Desktop Ordner verschieben, ist der Inhalt schon in Ziel dann soll nur der Inhalt kopiert werden in den bestehenden Ordner. Und der Ordner dann vom Desktop gelscht werden.
Befindet sich die Datei schon im Zielordner, dann soll sie verworfen werden.

mit move geht das nicht, bzw mit xcopy....

oder

Gruß
Mitglied: Friemler
20.01.2011 um 17:12 Uhr
Hallo bodyparts,

ich schlage vor, Du atmest mal gaaanz tief durch und sammelst Deine Gedanken. Dann schilderst Du Dein Problem nochmals, am besten unterstützt durch eine Beispiel-Verzeichnisstruktur. Dann kann evtl. auch jeder (außer Dir selbst) verstehen, was Du eigentlich willst.

Gruß
Friemler
Bitte warten ..
Mitglied: bodyparts
20.01.2011 um 17:22 Uhr
????

auf dem Desktop vom User xyz befinden sich Ordner, in diesen Ordner sich Dateien.

Jetzt sollen die Ordner verschoben werden zb in d:\export befinden sich schon Ordner mit dem gleichen Namen in diesem Ordner soll nur der Inhalt verschoben werden.
Dann kann der Ordner vom Desktop gelöscht werden. Definden sich schon Dateien mit dem selben Namen im Ziel brauchen diese nicht verschoben werden sondern direkt gelöscht.

besser?????
Bitte warten ..
Mitglied: Florian.Sauber
20.01.2011 um 19:15 Uhr
Na ja, bodyparts,

unter uns Betschwestern: Dein Schreibstil ist schon unter aller Kanone, aber OK, Du wärst nicht der erste, der es eilig und daher den Grammatikmodus auf Off gestellt hat, mich eingeschlossen.

Zu Deiner Frage:
Schau Dir mal Robocpy an, im speziellen die Parameter /XN /XC und /XO, um zu verhindern, dass bereits vorhandenen Dateien im Zielverzeichnis ersetzt werde, selbst wenn sie neuer sind oder verändert wurden.

Beim "Verschieben" handelt es sich ja faktisch um nichts anderes, als ein Kopieren mit anschliessendem Löschen der QuellVerzeichnisse/Dateien. Da hilft dir eine Batchdatei weiter. Etwaige Fragen dazu kannst Du ja im entsprechenden Bereich hier im Forum stellen(EDIT: Ups, da sind wir ja bereits. Na mein Fehler)...

LG Florian
Bitte warten ..
Mitglied: Friemler
20.01.2011, aktualisiert 18.10.2012
Hallo bodyparts,

Zitat von bodyparts:
besser?????
na ja, geht so...

Nichtsdestotrotz ein paar Codezeilen von mir, die Deinen Wünschen hoffentlich gerecht werden. Prüfe sie aber auf jeden Fall erstmal mit Testdateien, oder ersetzt die Befehle RD, MD und MOVE durch ECHO RD, ECHO MD bzw. ECHO MOVE (beim MOVE-Befehl musst Du dann noch das > NUL am Zeilenende entfernen, sonst siehst Du nix ). Hilfe zum FOR-Befehl gibt es übrigens in meinem ausführlichen Tutorial.
01.
@echo off 
02.
 
03.
setlocal 
04.
 
05.
set "Src=%UserProfile%\Desktop" 
06.
set "Dest=D:\export" 
07.
 
08.
 
09.
for /d %%d in ("%Src%\*.*") do ( 
10.
  if exist "%Dest%\%%~nxd" ( 
11.
    call :ProcessDir "%%d" 
12.
    for /f "delims=" %%f in ('dir /s /b /a:d "%%d"') do ( 
13.
      call :ProcessDir "%%f" 
14.
15.
    rd "%%d" /s /q 
16.
17.
18.
 
19.
endlocal 
20.
exit /b 
21.
 
22.
 
23.
 
24.
:ProcessDir 
25.
  set "SrcDir=%~1" 
26.
  set "Dir=%SrcDir%" 
27.
  call set "Dir=%%Dir:%Src%=%%" 
28.
 
29.
  md "%Dest%%Dir%" 2>NUL 
30.
 
31.
  for %%i in ("%SrcDir%\*.*") do ( 
32.
    if not exist "%Dest%%Dir%\%%~nxi" ( 
33.
      move "%%i" "%Dest%%Dir%" > NUL 
34.
35.
36.
exit /b
Das Skript verschiebt nur Dateien in Verzeichnissen, die sowohl auf dem Desktop als auch im Ziel vorhanden sind. Dabei wird die komplette Verzeichnisstruktur unterhalb dieser Verzeichnisse verarbeitet. Dateien, die im Ziel bereits vorhanden sind, werden nicht verschoben. Das Quell-Verzeichnis wird mit allen Unterverzeichnissen und verbliebenen Dateien gelöscht.

Gruß
Friemler
Bitte warten ..
Mitglied: bastla
20.01.2011 um 19:56 Uhr
Hallo @All!

Ich versuch' mich auch noch an der Interpretation und gehe mal davon aus, dass nur noch nicht im Ziel existierende Dateien verschoben werden sollen (allerdings auch solche, die sich in Unterordnern befinden) - falls ja, dann zB für alle Ordner auf dem Desktop:
01.
@echo off & setlocal 
02.
set "User=xyz" 
03.
set "Quelle=%userprofile%\..\%User%\Desktop" 
04.
set "Ziel=D:\Export\%User%" 
05.
 
06.
REM für jeden einzelnen Ordner 
07.
for /d %%i in ("%Quelle%\*") do ( 
08.
    REM bereits im Ziel vorhandene Dateien sofort löschen 
09.
    for /f "delims=" %%d in ('xcopy /ehluy "%%i\*.*" "%Ziel%\%%~nxi\"^|findstr /v /c:"Datei(en) kopiert"') do echo del "%%d" 
10.
    REM verbleibende Dateien inkl Ordnerstruktur kopieren 
11.
    xcopy /Leh "%%i\*.*" "%Ziel%\%%~nxi\" 
12.
    REM Ordner löschen 
13.
    echo rd /s /q "%%i" 
14.
)
bzw für einzelne Ordner:
01.
@echo off & setlocal 
02.
set "User=xyz" 
03.
set "Quelle=%userprofile%\..\%User%\Desktop\Der Ordner" 
04.
set "Ziel=D:\Export\%User%\Der Ordner" 
05.
 
06.
REM bereits im Ziel vorhandene Dateien sofort löschen 
07.
for /f "delims=" %%d in ('xcopy /ehluy "%Quelle%\*.*" "%Ziel%\"^|findstr /v /c:"Datei(en) kopiert"') do echo del "%%d" 
08.
REM verbleibende Dateien inkl Ordnerstruktur kopieren 
09.
xcopy /Leh "%Quelle%\*.*" "%Ziel%\" 
10.
REM Ordner löschen 
11.
echo rd /s /q "%Quelle%"
Beide Varianten sind zum Testen gedacht (hab' ich nämlich nicht gemahct) und daher durch das groß geschriebene "L" im jeweils zweiten "xcopy"-Befehl und das "echo" vor dem "del" bzw dem "rd" noch "gesichert" - werden diese Sicherheitsmaßnahmen entfernt, passiert's tatsächlich ...

Grüße
bastla

P.S.: Und das Ganze eigentlich nur wegen
mit move geht das nicht, bzw mit xcopy....
Bitte warten ..
Mitglied: Friemler
20.01.2011 um 20:43 Uhr
Hi bastla,

schöne Lösung !

Aber Zeile 3 von Skript 1 muss nur
set "Quelle=%userprofile%\Desktop"
lauten, bzw. Zeile 3 in Skript 2
set "Quelle=%userprofile%\Desktop\Der Ordner"
Um das ganze Userspezifisch zu machen, muss man mit "ausgeschriebenen" Pfaden arbeiten (ohne %UserProfile%, da steckt der Username schon drin).

[EDIT]
Ich nehme alles zurück (ausser dem Lob ), habe nicht genau genug hingesehen.

Gruß
Friemler
Bitte warten ..
Mitglied: Florian.Sauber
20.01.2011 um 20:58 Uhr
Hallo Ihr zwei!

Ihr wisst hoffentlich, wie hoch ich Eure Batchkenntnisse schätze (!), aber warum so kompliziert?
Tät es da nicht auch ein (zugegebenermassen ungetestetes)

robocopy Quelle Ziel /S /XC /XN /XO /MOVE 
Mit /L kanns ja erst mal getestet und über das Logfile geprüft werden...

LG FLorian
Bitte warten ..
Mitglied: Friemler
20.01.2011 um 21:07 Uhr
Hallo Flo,

sicherlich ließe sich das auch mit Robocopy lösen, aber erstens ist das (bis XP) kein Bordmittel und zweitens bin ich ein Batch-Spielkind (Das muss doch auch mit Batchskript gehen!...).

Gruß
Friemler
Bitte warten ..
Mitglied: Florian.Sauber
20.01.2011 um 21:20 Uhr
[OT]
...zweitens bin ich ein Batch-Spielkind (Das muss doch auch mit Batchskript gehen!...).
Da bin ich doch ganz bei Dir. Ein Tor, wer anders dächte

LG Flo
Bitte warten ..
Mitglied: bastla
20.01.2011 um 23:49 Uhr
[OT]
@Friemler
Schließe mich der Spielkinder-Fraktion an (und genieße das Lob , kann dieses aber gleich postwendend an Biber weiterreichen, bei dem ich die Variante mit "xcopy /l" - wie so vieles, was ich inzwischen auch sehr gerne verwende - zum ersten Mal gesehen habe) ...

BTW: Meine konkrete Motivation ist dem "P.S." zu entnehmen.

Grüße
bastla
[/OT]
Bitte warten ..
Mitglied: bodyparts
21.01.2011 um 12:03 Uhr
danke euren Kreativenergüssen...

werde ich testen.

Die Ordner haben immer einen "Anfangsnamen"....

out-datxxxx

xxxx kann sich immer unterscheiden

vorab vielen Dank
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(3)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Vmware
gelöst Manche VMs lassen sich nicht in Ordner verschieben (3)

Frage von Zippo97 zum Thema Vmware ...

Batch & Shell
gelöst Dateien anhand des Namens in neue Ordner verschieben (17)

Frage von Cookiemonster zum Thema Batch & Shell ...

Outlook & Mail
gelöst Outlook 2010 Dateianhänge von bestimmten Exchange Mails in Ordner verschieben (5)

Frage von Kineas zum Thema Outlook & Mail ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...