sebastianju
Goto Top

Robocopy Verständnisproblem...

Hallo,

ich habe mir Skripte gebastelt um Backups zu machen. ZB ein Backup vom Laufwerk P: auf Q:. Dazu habe ich ein paar Batchskripte geschrieben.
  • Das erste soll die Dateien im Ziel löschen die nicht mehr in der Quelle vorhanden sind.
  • Das zweite kopiert mit GCopy. (Wenn es viel ist und ich eine Anzeige brauche wann es fertig sein wird)
  • Das dritte mit Robocopy (ohne Log. Ist die schnellste Möglichkeit wenn es nicht so viele Daten sind)

Die Batchskripte hatte ich im Root von Laufwerk L: liegen. Da es nun viele geworden sind habe ich die Skripte nach L:\Backup gelegt.

Das Problem ist jetzt dass ich scheinbar ein Verständnisproblem habe was die Angabe der Pfade angeht.

Beispielsweise das erste Skript. Soll alle Dateien und Verzeichnisse im Ziel löschen die nicht mehr in der Quelle sind. Damit habe ich erstmal Platz im Ziel um das Laufwerk besser defragmentieren zu können.

Code dafür in der Batch:

robocopy P:\ Q:\ /PURGE /ETA /NFL /NDL /R:0

Wenn ich eine Shell öffne und in L:\Backup wechsle starte ich dort die Batchdatei und das Ergebnis ist:

Quelle : P:\
Ziel : Q:\

               Gesamt
Verzeich.:         1
  Dateien:         0
    Bytes:         0
   Zeiten:   0:00:00

Ein Verzeichnis? Quelle und Ziel wurden doch korrekt erkannt. Da sind schon viel mehr Verzeichnisse drin. Insgesamt 1,5TB an Daten.

Mit

robocopy P: Q: /PURGE /ETA /NFL /NDL /R:0
und
robocopy "P:" "Q:" /PURGE /ETA /NFL /NDL /R:0  

erhalte ich das selbe Ergebnis.

Mit

robocopy "P:\" "Q:\" /PURGE /ETA /NFL /NDL /R:0  

scheint er nicht klarzukommen. Er meint:

Quelle : P:\" Q:"\  
Ziel -

Er hat da also irgendwas durcheiandergebracht.

robocopy 'P:' 'Q:' /PURGE /ETA /NFL /NDL /R:0  
oder
robocopy 'P:\' 'Q:\' /PURGE /ETA /NFL /NDL /R:0  

bringt:

Quelle : L:\Backup\'P:\'\  
Ziel : L:\Backup\'Q:\'\  

was logischerweise auch Unsinn ist.

Warum verhält sich Robocopy so komisch? Ich meine ich hätte die Parameter doch klar angegeben...

Ich will ja eigentlich erstmal nur dass das Skript alle Dateien und Verzeichnisse, auch in Unterverzeichnissen, im Ziellaufwerk löscht die nicht mehr im Quellaufwerk vorhanden sind.

Danke!
Sebastian

Content-Key: 155361

Url: https://administrator.de/contentid/155361

Printed on: April 19, 2024 at 04:04 o'clock

Mitglied: 60730
60730 Nov 18, 2010 at 20:13:39 (UTC)
Goto Top
Servus,

Zitat von @SebastianJu:
Dieses Forum hat alle meine Backslashs gelöscht. Tolle Funktion... hab ich jetzt repariert und ersetzt mit {Backslash}...
Ja, da gabs vorhin einen Hänger..
edit - denn gibt es gerade wieder face-sad
schreib einfach zwei davon hintereinander ...

\

editiere mal bitte deinen Beitrag und füge die relevanten Zeilen in code Blöcke.

Streng genommen halte ich dein verwendetes Wort "Backup" für einen Job der im Ziel Dateien löscht, die es in der Quelle nicht mehr gibt für eine Fehlinformation.

Anyway ...
robocopy p:\ q:\ /mir

Gruß
Member: SebastianJu
SebastianJu Nov 18, 2010 at 20:27:27 (UTC)
Goto Top
Ich hatte nichts gesehen dass bbcode oder etwas ähnliches hier funktioniert... aber bbcode scheint es nicht zu sein dass hier genutzt wird... Ich habe jetzt auch noch mal gesucht und ausprobiert aber ich finde nicht heraus was für ein Code-Format hier genutzt wird.
Ich hab mir jetzt jedenfalls den Text erstmal gesichert weil sonst beim nächsten mal editieren wieder alle (nun) einzelnen Backslashs weg wären.

robocopy P: Q: /MIR /ETA /NFL /NDL

Ist auch das Skript was ich für das Kopieren mit Robocopy benutze. Nur kopiert das auch alle neuen Dateien... ich will ja aber erstmal nur die Dateien im Ziel löschen damit ich das Ziellaufwerk defragmentieren kann bevor die neuen Daten raufkommen...

Wie meinst du das mit der Fehlinformation? Siehe:

"/PURGE löscht Dateien und Verzeichnisse im Ziel, die in der Quelle nicht mehr existieren"

Das sollte doch das sein was ich suche oder?
Mitglied: 60730
60730 Nov 18, 2010 at 20:35:00 (UTC)
Goto Top
Salü,

Zitat von @SebastianJu:
Ich hatte nichts gesehen dass bbcode oder etwas ähnliches hier funktioniert... aber bbcode scheint es nicht zu sein dass hier
genutzt wird...
  • schau dir - wenn du den Beitrag schreibst/editierst unter "Formatierungshilfe" an, was gemeint ist

ich will ja aber erstmal nur die Dateien im Ziel löschen damit ich das Ziellaufwerk defragmentieren kann bevor die neuen Daten raufkommen...
Ich glaube wir reden aneinander vorbei... Ich bekomme Kohle dafür dass ich Admin bin und defragmentieren kommt in dem Zusammenhang nur unter ganz extremen Bedingungen vor.
Unnötige Schreib und wischiwaschivorgänge auf Datenträgern, deren Inhalt ich als Sicherheit für Fall x verwenden würde sind zwar auch extrem, aber nicht meine Kragenweite.

Wie meinst du das mit der Fehlinformation? Siehe:
Ein Backup ist Kunstwort aus zurück und aktuell (jeder Bäcker mit PC ist up2date) - wenn man Dauerweise in der Quelle Dateien verlegt und verändert hat und dann dein "backup" laufen läßt - Prost Mahlzeit. face-wink

"/PURGE löscht Dateien und Verzeichnisse im Ziel, die in der Quelle nicht mehr existieren"

Das sollte doch das sein was ich suche oder?

keine Ahnung, was du da vorhast....

rd /S /q ziel:\
defrag ziel:\
robocopy quelle:\ ziel:\

Gruß
Member: SebastianJu
SebastianJu Nov 18, 2010 at 21:02:01 (UTC)
Goto Top
Ach jetzt sehe ich was du meinst mit Formatierungshilfe. Ich hab die ganze Zeit gesucht gehabt...

Defragmentieren ist mittlerweile Teil dessen was ich regelmäßig tue seit ich auf einer 1,5TB-Festplatte 11Mio Fragmente gefunden habe. Die Datenrate war selbst mit eSata auf unterirdischem Niveau so dass ich zu der Meinung kam dass eine fragmentierte Festplatte ein echter Performancekiller sein kann. Deshalb fragmentiere ich. Ist ja auch nicht viel Aufwand da es im Hintergrund läuft.

Die Backupplatte auf der ich defragmentieren will enthält ohnehin keine extrem wichtigen Daten. Die wirklich wichtigen Daten sind mehrfach gesichert.

Mit Backup meine ich Datensicherung.

Was ich tun will ist wöchentlich ein Filebackup. Im Monat gibt es noch mal Imagebackups. Bei den Filebackups will ich an einem Tag das purge laufen lassen um auf der Zielplatte schon mal das zu löschen was in der Quelle nicht mehr da ist und dadurch Platz schaffen. Und mit dem Platz kann man dann besser defragmentieren weil der Datenträger ansonsten schon recht voll ist.
Dann defragmentiere ich und mache das Filebackup.

Mit dem Skript was du geschrieben hast würde ich ja die komplette Zielfestplatte von Daten befreien durch rd oder? Das ist eigentlich nicht nötig da die meisten Dateien ohnehin gleich bleiben.

So wie ich /PURGE verstanden habe sollte Robocopy vergleichen was in der Quelle und was im Ziel vorhanden ist.
Wenn:
in Quelle und in Ziel -> tue nichts
nicht in Quelle und in Ziel -> lösche Datei/Verzeichnis im Ziel

Nur verstehe ich in dem Zusammenhang nicht wieso Robocopy bei erkennbar richtig erkannter Quelle und Ziel nur ein Verzeichnis findet. Und wieso es Quelle und Ziel falsch interpretiert wenn Laufwerksbuchstabe in Anführungszeichen und mit Backslash...
Mitglied: 60730
60730 Nov 18, 2010 at 21:40:54 (UTC)
Goto Top
moin,,
allerletzter Versuch..

Ich bekomme u.a dafür Kohle, dass ich mit diversen Systemen einen Datenverlust verhindere.
Dazu gehört auch ein ordinäres "Backup" und einiges andere.

Mit Backup meine ich Datensicherung.
Ich auch - nur meine ich das damit nicht nur, ich kann auch sicher sein, das garantiert selbst im Fall des doppelten Falls noch etwas wiederherstellbar ist.

Die Datenrate war selbst mit eSata auf unterirdischem Niveau
dann liegt das aber entweder an deinem Controller oder an der Festplatte die Zeiten von 486ern, wo eine frag oder defragmentierte Platte spürbare Unterschiede machte, sind vorbei....(und manche Tankstellencomputerzeitschriften Redakteure haben halt nix dazugelernt).

Mit dem Skript was du geschrieben hast würde ich ja die komplette Zielfestplatte von Daten befreien
yupp, wenn du das so einsetzen würdest...
einen gelöschten Datenträger zu defragmentieren ist halt meine Art dir zu zeigen, das du auf einem Holzweg wanderst...


Nur verstehe ich in dem Zusammenhang nicht wieso Robocopy bei erkennbar richtig erkannter Quelle und Ziel nur ein Verzeichnis findet.
  • Weil weder ich, noch robocopy in deiner Zeile ein /s finden.
Und wieso es Quelle und Ziel falsch interpretiert wenn Laufwerksbuchstabe in Anführungszeichen und mit Backslash...

Weil Robocopy "mitdenkt."
robocopy c:\script e:\script

----------------------------------------------------------------------------
   ROBOCOPY     ::     Robust File Copy for Windows     ::     Version XP010
----------------------------------------------------------------------------

  Started : Thu Nov 18 22:29:59 2010

   Source : c:\script
     Dest : e:\script

    Files : *.*

  Options : *.* /COPY:DAT /R:1000000 /W:30

robocopy "c:\script" "e:\script"

----------------------------------------------------------------------------
   ROBOCOPY     ::     Robust File Copy for Windows     ::     Version XP010
----------------------------------------------------------------------------

  Started : Thu Nov 18 22:34:14 2010

   Source : c:\script" e:\script"
     Dest -

    Files : *.*

  Options : *.* /COPY:DAT /R:1000000 /W:30


Siehst du den kleinen aber feinen Unterschied?
Member: SebastianJu
SebastianJu Nov 18, 2010 at 21:57:18 (UTC)
Goto Top
Ich bin kein bezahlter Admin. Die Daten sind auch nicht so wichtig dass das kleine Risiko dass in der Zeit der Defragmentierung beide Platten kaputtgehen nicht eingegangen werden könnte. Bzw sind es allgemein Daten die eher vom Status "Schöner wenn sie da sind" sind als "Müssen da sein". Von daher denke ich dass ich das für mich vertreten kann. Ist ohnehin niemand anderes davon betroffen...

Das mit der extrem fragmentierten Platte solltest du wirklich mal überprüfen. Ich habe das früher auch geglaubt dass das keinen Unterschied macht. Ich hatte identische Platten um das zu vergleichen. Gehäuse usw hab ich auch verglichen. An denen lag es nicht. Und es machte einen so dicken Unterschied dass ich der Theorie dass Fragmentierung heutzutage egal ist nicht mehr glaube. Bei wenig Fragmentierung ok aber wenn es wirklich viel ist ist es auf jeden Fall etwas anderes.

Weil weder ich, noch robocopy in deiner Zeile ein /s finden.

/s ist doch nur ähnlich /e nur dass es leere Verzeichnisse mit kopiert. Und das ist ziemlich das was /MIR macht. Nur will ich ja nicht kopieren sondern erstmal nur löschen.

Weil Robocopy "mitdenkt."

Ich komm nicht drauf... Alle Daten außer der Uhrzeit sind ja dieselben. Nur Source und Dest sind unterschiedlich. Das was du im zweiten Beispiel als Befehl geschrieben hast sieht für mich aus wie die normale Syntax von Robocopy. Erster Parameter Quelle, zweiter Ziel. Aber wieso der das nicht ebenso sieht? Wo siehst du darin die Logik?
Member: kingkong
kingkong Nov 18, 2010 at 22:05:29 (UTC)
Goto Top
Ich glaube, das musst Du mir nun erklären, was Du mit "mitdenken" meinst...

Übrigens: Ich glaube, die unterschiedliche Behandlung Deiner Eingaben liegt an der Version. Soweit ich weiß ist die XP26 für nicht-Vista/Win7-Systeme die aktuelle. Denn schau Dir mal meine Ausgabe an...

robocopy "c:\script" "d:\script"  

-------------------------------------------------------------------------------
   ROBOCOPY     ::     Robustes Dateikopieren für Windows

-------------------------------------------------------------------------------

  Gestartet: Thu Nov 18 22:49:52 2010

2010/11/18 22:49:52 FEHLER 87 (0x00000057) Dateisystemtyp des Zieles wird ermitt
elt d:script
Falscher Parameter.

   Quelle : c:\script
     Ziel - d:\script

    Dateien : *.*

  Optionen: *.* /COPY:DAT /R:1000000 /W:30


----

robocopy c:\script d:\script

-------------------------------------------------------------------------------
   ROBOCOPY     ::     Robustes Dateikopieren für Windows

-------------------------------------------------------------------------------

  Gestartet: Thu Nov 18 22:53:20 2010

2010/11/18 22:53:20 FEHLER 87 (0x00000057) Dateisystemtyp des Zieles wird ermitt
elt d:script
Falscher Parameter.

   Quelle : c:\script
     Ziel - d:\script

    Dateien : *.*

  Optionen: *.* /COPY:DAT /R:1000000 /W:30

Bei mir gibt es beide Verzeichnisse nicht, daher die Fehlermeldung, aber das ist für das Ergebnis auch unerheblich. Wenn es nicht so wäre, was würdest Du denn dann bei Pfaden mit Leerzeichen machen? Ohne Anführungszeichen würde das nämlich dann als zusätzliche Angabe über die zu kopierende Datei gewertet werden (zumindest tut es das bei mir unter Windows 7 Professional x64).

Und ich muss Dir leider auch bei Deiner Aussage über die Fragmentierung als Bremse widersprechen. Ich kenne einige Fälle, wo relativ starke Rechner (Core 2 Duo, 3,16GHz; 4 GB RAM, 2TB HDD-Speicher) ordentliche Probleme bekommen haben! Man muss fairerweise dazusagen, dass die Rechner etwas zweckentfremdet wurden, weil sie als Sicherungsserver liefen, dennoch ist Deine Aussage insofern nicht richtig.
Und ich denke, dass wohl auch MS bei Windows 7 nicht in Ruhephasen defragmentieren lassen würde, wenn die Auswirkungen so gering wären...

Ich bin übrigens nicht hauptberuflich Administrator - dennoch kenne ich mich ganz gut aus. Und das ist sicher bei vielen anderen so.
Bitte nimm mir das jetzt nicht übel, meistens sind Deine Beiträge wirklich hilfreich, aber vielleicht kannst Du etwas weniger neunmalklug schreiben.

@threadersteller: http://www.msu-hb.de/system/system/robocopy.htm ist zwar nicht besonders ansprechend, aber durchaus hilfreich. Und ich würde Dir deshalb auch empfehlen, nicht /S sondern /E zu verwenden, sodass auch leere Verzeichnisse mitkopiert werden - bei /S werden die ignoriert...

EDIT sagt: Jetzt habe ich mich völlig aufs Kopieren beschränkt. In Deinem Fall hast Du natürlich Recht, da ist das eigentlich unerheblich.

Gruß, kingkong304
Mitglied: 60730
60730 Nov 18, 2010 at 22:26:14 (UTC)
Goto Top
Zitat von @kingkong:
Ich glaube, das musst Du mir nun erklären, was Du mit "mitdenken" meinst...

Schau doch bitte einfach mal nach, was "ich" geschrieben habe, und was Robocopy drauss macht....

Wenn es nicht so wäre, was würdest Du denn dann bei Pfaden mit Leerzeichen machen?

robocopy "c:\Dokumente und Einstellungen\%username%\desktop" e:\script

-------------------------------------------------------------------------------
   ROBOCOPY     ::     Robust File Copy for Windows     ::     Version XP010
-------------------------------------------------------------------------------

  Started : Thu Nov 18 23:16:08 2010

   Source : c:\Dokumente und Einstellungen\TimoBeil\desktop
     Dest : e:script

    Files : *.*

  Options : *.* /COPY:DAT /R:1000000 /W:30

------------------------------------------------------------------------------
Und ich muss Dir leider auch bei Deiner Aussage über die Fragmentierung als Bremse widersprechen.
lies doch mal genauer... Wer eine Platte hat, wo er in einem Rutsch Daten rüberjuckelt und vorm rüberjuckeln nix löscht, der fragmentiert seine Platte nicht wirklich. Und darüber können (oder auch nicht) wir noch Stunden und Tagelang diskutieren - ich setze lieber "ordentliche Platten und ordentliche Strategien ein.

Bitte nimm mir das jetzt nicht übel, meistens sind Deine Beiträge wirklich hilfreich, aber vielleicht kannst Du etwas weniger neunmalklug schreiben.

gerne, aber in Fällen, wo man via vermeiden von @echo off oder Einsatz von /? eigentlich den Bock selber finden kann... face-wink

Gruß
diese \ backslasherities geht mir aufn Keks \ face-wink
Member: SebastianJu
SebastianJu Nov 18, 2010 at 22:37:55 (UTC)
Goto Top
Das mit dem /E ist sicher sinnvoll, da hab ich noch nicht drüber nachgedacht. Könnte ja unter Umständen bei manchen Programmen zu Problemen führen wenn sie nicht so toll programmiert sind. Ich denke ich ersetze /MIR mit /PURGE /E.

Dass MS das automatische Defragmentieren einbaut könnte man auch als bloße Werbemaßnahme ansehen ala "Geschwindigkeitsgewinn durch automatische Defragmentierung". Obwohl wie gesagt weiß ich mittlerweile dass es einen großen Effekt haben kann. In meinem Fall war es eine Festplatte auf der E-Mule-Downloads lagen die mit Sparse erzeugt wurden. Also mit guter Chance dass jedes kleine neue Stückchen irgendwo neu fragmentiert abgelegt wird. Sicherlich ein Extremfall aber es hat mir halt gezeigt dass Framentierung übel sein kann...

Dann meinst du das Problem könnte meine Robocopy-Version sein? Ich habe Vista mit neuestem Servicepack und das Robocopy was dabei ist. Glaubst du mit einer neueren Version wäre möglich was ich versuche zu tun?

Auf der von dir verlinkten Seite steht:

2. Sollen nur überzählige Dateien gelöscht werden, verwenden wir statt /MIR die Schalter /S /PURGE.
- /S berücksichtigt alle Unterordner
- /PURGE veranlasst das Löschen

Gleichzeitig steht aber in den Optionen:

/S Copies all subdirectories, excluding empty ones
/E Copies all subdirectories, including empty ones
/PURGE Deletes destination files and directories that no longer exist in the source directory.

und

/MIR Mirror a directory tree. The equivalent of /E /PURGE.

Wobei /MIR ein Filebackup erstellt.

Heißt das eine rekursive Löschaktion mit Robocopy wäre nur möglich wenn ich per Batchdatei selbst die Unterordner durchlaufe? Weil /PURGE nur einen Ordner bearbeitet und /S und /E zwar alle Unterordner einbeziehen aber immer auch gleich mit kopieren? Denn /E und /PURGE sind ja bereits /MIR. Das heißt der erste Punkt mit der 2. davor den ich von der Seite zitiert habe stimmt so gar nicht oder?
Ich habs jetzt trotzdem mal probiert. /PURGE in Verbindung mit /S oder /E kopiert immer auch die Dateien mit ins Ziel. Der erste Satz scheint also falsch zu sein.

Geht es also gar nicht mit robocopy? Oder nur mit eigener Routine zum Durchlaufen der Unterverzeichnisse?

@Timo

Wer eine Platte hat, wo er in einem Rutsch Daten rüberjuckelt und vorm rüberjuckeln nix löscht, der fragmentiert seine Platte nicht wirklich.

Wie gesagt mache ich ein Filebackup in dem halt nur die Teil ersetzt werden die neu oder geändert sind. Und da kann schon Fragmentierung auftreten. Ich will ein Filebackup weil es schnell ist und weil man einfach auf die Daten zugreifen kann.

robocopy "c:\Dokumente und Einstellungen\%username%\desktop" e:\script   

Und was wenn der zweite Pfad auch ein Leerzeichen enthält? Soweit ich mich erinnere konnte man in xcopy auch bei Ziel und Quelle jeweils Anführungszeichen benutzen.
Member: micneu
micneu Nov 18, 2010, updated at Oct 18, 2012 at 16:44:08 (UTC)
Goto Top
ich mache immer bei
robocopy "QUELLE" "ZIEL" /MIR /R:1 /W:1
so sollte das gehen was du willst, windows vista und windows 7 haben std. immer robocopy dabei
kannst dir auch mal den tipp anschauen.
habe mit robocopy eine backup script mit log erstellung und emailversand.
Backup mit Emailversand des Logs (kostenlos Windows)
anstatt die option /E in meinem script kannst du die option /MIR nehmen.

gruß michael
Member: SebastianJu
SebastianJu Nov 19, 2010 at 09:29:42 (UTC)
Goto Top
@micneu

Die Codezeile von dir macht ja bereits ein richtiges Backup. Ich habe ja versucht erstmal nur ein /PURGE auf das Ziellaufwerk + alle Unterordner zu machen. Ohne dass dabei gleich Dateien kopiert werden. Im Moment scheint mir fast das geht gar nicht.
Member: kingkong
kingkong Nov 19, 2010 at 11:38:12 (UTC)
Goto Top
@timobeil: Sorry, aber ich sehe nach wie vor nur, dass Du in der einen Version Anführungszeichen benutzt und in der anderen nicht - und wie sich solch ein Unterschied ergeben kann ist mir schleiferhaft. Ich habe ja wie oben gepostet beides bei mir eingegeben und keinen Unterschied entdecken können.

EDIT: Achsooooo... ich glaube, jetzt weiß ich, was Du meinst... Kann es sein, dass Du in Deinem Beispiel vergessen hast, ganz oben die Backslashes nachträglich einzufügen? Sodass Du eigentlich >> robocopy "c:\script\" "e:\script\" << schreiben wolltest:, aber robocopy "c:\script" "e:\script" rausgekommen ist ?
Mitglied: 60730
60730 Nov 19, 2010 at 15:40:31 (UTC)
Goto Top
Zitat von @kingkong:
@timobeil: Sorry, aber ich sehe nach wie vor nur, dass Du in der einen Version Anführungszeichen benutzt und in der anderen
nicht - und wie sich solch ein Unterschied ergeben kann ist mir schleiferhaft. Ich habe ja wie oben gepostet beides bei mir
eingegeben und keinen Unterschied entdecken können.

EDIT: Achsooooo... ich glaube, jetzt weiß ich, was Du meinst... Kann es sein, dass Du in Deinem Beispiel vergessen hast,
ganz oben die Backslashes nachträglich einzufügen? Sodass Du eigentlich >> robocopy "c:script"
"e:script" << schreiben wolltest:, aber robocopy "c:script" "e:script" rausgekommen ist ?

Nein bei der Version mit beiden "quelle" "ziel" wird beides unter quelle gelistet

Und die dusseligen Backslashes können mich mal - Ihr müsst euch halt denken, wo die hingehören - hatte nen harten Tag mit "echten" Problemen nicht solchem killefitz...

robocopy "c:Dokumente und Einstellungen\%username%desktop" e:script   

Und was wenn der zweite Pfad auch ein Leerzeichen enthält?

subst b: /d
subst b: "c:Dokumente und Einstellungen\%username%desktopf"  
call robocopy "c:Dokumente und Einstellungen\%username%desktop" b:  
net use b: /d

Und weils so schön wär...(und ich dann einfach mal auch den den Desktoptestern gehören möchte,,,,)

rem prepare test
if not exist "c:Dokumente und Einstellungen\%username%desktopf." md "c:Dokumente und Einstellungen\%username%desktopf"  
echo "ichbineintest>"c:Dokumente und Einstellungen\%username%desktopfichbineintest.txt"  
call notepad "c:Dokumente und Einstellungen\%username%desktopfichbineintest.txt"  

for /f "tokens=1,* delims=" %%a in ('dir /b "c:Dokumente und Einstellungen\%username%desktopf*.*"') do (  
                      if not exist "C:Dokumente und Einstellungen\%username%Desktop\%%a" del "C:Dokumente und Einstellungen\%username%Desktopf\%%a"  
)
echo und jetzt ist sie wieder wech..
call notepad "c:Dokumente und Einstellungen\%username%desktopfichbineintest.txt"  

Und wirklich, wenn wir das anders nennen, mir Wurst, aber das ist und bleibt kein Backup.

Gruß
Member: kingkong
kingkong Nov 19, 2010 at 17:10:44 (UTC)
Goto Top
Klar ist das jetzt kein Backup. Und da ist wieder einer Deiner guten Vorschläge. Natürlich kann man die ganze Löschgeschichte besser ohne robocopy lösen. Hatte ich mal wieder übersehen...

Nur (zum letzten Mal) nochmal zu der mit-und-ohne-Anführungszeichen-Geschichte. Ob ich nun >> robocopy "c:\script" "e:\script" << oder >> robocopy c:\script e:\script schreibe - es gibt bei mir keinen Unterschied. Er erkennt jedes Mal richtig, dass das eine Quelle, das andere Ziel ist. Ich weiß nicht, warum er das bei Dir nicht tut...
Member: micneu
micneu Nov 19, 2010 at 17:23:31 (UTC)
Goto Top
@SebastianJu
also ich kann immer noch nicht verstehen was genau dein problem ist.
ich nutze robocopy jetzt schon seit 2,5 jahren. und wenn ich "KEINE" fehler bei der eingabe machen tut
robocopy immer das was er soll, eine verdammt guten job face-smile

lies dir die dokumentation einmal WIRKLICH durch.
hast du windows xp? dann setze die robocopy version
ROBOCOPY :: Robust File Copy for Windows :: Version XP026
die kannst du hier http://technet.microsoft.com/de-de/magazine/2006.11.utilityspotlight.as ...
oder hier http://download.microsoft.com/download/f/d/0/fd05def7-68a1-4f71-8546-25 ...
laden.
bei vista und windows 7 ist rpobocopy immer dabei.

und diskutiert nicht über solche simplen probleme ob mit" oder ohne "
ich machen es immer so
robocopy "c:\script" "e:\script"
hat den vorteil habt ihr mal doch leerzeichen in eurem pfad wird es immer richtig erkannt.

gruß michael
Member: kingkong
kingkong Nov 19, 2010 at 21:59:29 (UTC)
Goto Top
micneu, wenn Du das Problem allerdings nicht erkennst, dann solltest Du dazu besser nichts sagen. Ich zum Beispiel setze robocopy auch schon lange ein und es ist ein zuverlässiges Hilftsmittel. Es geht aber mit Robocopy offensichtlich nicht so, wie der Threadersteller es wollte. Es ist aber auch viel einfacher, es so zu tun, wie es TimoBeil geschrieben hat.

Und zu der Geschichte mit den Anführungszeichen: Ich hatte ja schon angemerkt, dass es bei den neuen robocopy-Versionen keinen Unterschied mehr macht - nur interessiert es mich eben, wie TimoBeil zu seiner Ausgabe kommt. Ist ja dann außerdem nur eine Frage, keine Diskussion face-wink

Gruß, kingkong


P.S.: Ich finde, Groß- und Kleinschreibung zu berücksichtigen zeigt den anderen, dass man sie respektiert und sich ein bißchen Mühe für sie gibt. - Just my 2 cents...
Member: SebastianJu
SebastianJu Nov 20, 2010 at 08:49:01 (UTC)
Goto Top
@timobeil

Also subst zu nutzen nur damit man robocopy mit leerzeichen in beiden urls nutzen kann klingt für mich wie wenn robocopy nicht ausgereift ist. Sowas sollte schon möglich sein ohne dass es Probleme gibt die man durch Tricks umgehen muss. Eine Intelligenz hinter diesem Robocopyverhalten kann ich nicht erkennen.

Das längere Skript ist nur für ein Verzeichnis oder kann das auch rekursiv durch alle Verzeichnisse gehen. Bzw frage ich mich ob es überhaupt schnell ist mit so einem Batchskript eine rekursive Löschaktion zu machen die Quelle und Ziel vergleicht und alles im Ziel löscht was nicht in Quelle ist.

Als Backup sehe ich das auch nicht. Es ist eine Defragmentierungsvorbereitung.

@kingkong

Ich glaub robocopy hat nur Probleme wenn man am Ende ein \ angibt.

zB funktioniert das hier ohne Probleme:

robocopy c:\script e:\script
robocopy c:\script\ e:\script\
robocopy "c:\script" "e:\script"

aber nicht

robocopy "c:\script\" "e:\script\"

was mit anderen Programmen schon funktioniert. Hast du die neueste Version 027 und ist das da nicht mehr der Fall?

@all

Ich glaub ich werde heute mal xxcopy probieren. Mal sehen ob es damit funktioniert...
Member: SebastianJu
SebastianJu Nov 20, 2010 at 09:20:35 (UTC)
Goto Top
xxcopy scheint die selbe Art Parameter zu nutzen wie robocopy. Mit /ZY kann man das selbe machen wie mit /PURGE. Nur bezieht sich das wieder nur auf ein Verzeichnis scheinbar. Und die Parameter die Unterordner einbeziehen kopieren auch gleichzeitig...
Mitglied: 60730
60730 Nov 20, 2010 at 16:53:00 (UTC)
Goto Top
Zitat von @SebastianJu:
@timobeil

Also subst zu nutzen nur damit man robocopy mit leerzeichen in beiden urls nutzen kann klingt für mich wie wenn robocopy nicht ausgereift ist.
Naja ganz ehrlich, wer Sonderzeichen in Ordnern macht, muß immer mit Sonderproblemen oder Sonderbehandlung rechnen...

Eine Intelligenz hinter diesem Robocopyverhalten kann ich nicht erkennen.
Ich in dem auch nicht, die angeschriebene Intelligenz bezeiht sich auf mein quelle ziel und rpobocoy baut selbstständig die Parameter zusammen.

Das längere Skript ist nur
  • ein Beispiel mehr nicht.
Bzw frage ich mich ob es überhaupt schnell ist mit so einem Batchskript eine rekursive Löschaktion zu machen die Quelle und Ziel
vergleicht und alles im Ziel löscht was nicht in Quelle ist.
kommt drauf an... (wie bereits geschrieben, ich bekomme eigentlich dafür Geld, dass ich mir was sinnvolles ausdenke - das ich für diesen Fred kein Geld bekomme kannst du also getrost gerne doppeldeutig nennen face-wink

Als Backup sehe ich das auch nicht. Es ist eine Defragmentierungsvorbereitung.
naja - du schreibst oben was von "selbst mit sata lahm" - hast du überhaupt AHCI eingerichtet und kannst NCQ benutzen?

Und das ein copy auch als Nebenkriegsspielplatz löschen kann bedeutet nicht, das man das damit machen sollte/muß.

Gruß
Member: SebastianJu
SebastianJu Nov 20, 2010 at 18:28:54 (UTC)
Goto Top
du schreibst oben was von "selbst mit sata lahm" - hast du überhaupt AHCI eingerichtet und kannst NCQ benutzen?

Ist beides an... bzw es ist ja unfragmentiert nicht lahm. Bzw auch bei leichter Fragmentation geht es... Nur wenn es halt schlimm fragmentiert ist...