Warum erstellt RoboCopy einen versteckten Systemordner?

10

Ich dachte, ich würde RoboCopy ausprobieren, um den Inhalt eines Ordners auf eine andere Festplatte zu spiegeln. Und es scheint funktioniert zu haben. Um den Zielordner zu sehen, muss ich aus irgendeinem Grund versteckte Dateien, Ordner und Laufwerke anzeigen aktivieren und geschützte Betriebssystemdateien ausblenden deaktivieren . Warum ist das? Sowohl der Quell- als auch der Zielordner waren anfangs sowohl sichtbare als auch normale Verzeichnisse. Wenn ich die Eigenschaften für diesen Zielordner öffne, ist das Attribut " Versteckt" sogar deaktiviert. Was geht hier vor sich?

Liegt es daran, dass ich es an einer Administrator-Eingabeaufforderung ausgeführt habe? Oder ist es ein Problem mit meiner Auswahl an Modifikatoren? Oder funktioniert Robocopy wirklich nur so?

robocopy E: I:\E /COPYALL /E /R:0 /MIR /B /ETA

Update: Es wurde versucht, ein anderes Laufwerk in einen anderen Ordner zu kopieren, und dort ist dasselbe passiert. Wenn ich jedoch versuche, einen Ordner in einen anderen Ordner zu kopieren, bleibt der Zielordner normal. Könnte es sein, dass ich ein Laufwerk kopiere? Wenn ja, wie kann ich dies verhindern? Weil ich wirklich das ganze Laufwerk kopieren möchte ...

Svish
quelle
Das Erstellen des Verzeichnisses im Voraus funktioniert nicht. Sobald Sie die Robo-Kopie erneut ausführen, werden sie durch die Attribute erneut ausgeblendet. Der Attributbefehl funktioniert.

Antworten:

9

Auf meinem System (Vista) zeigt Powershell, dass auf dem Laufwerk c: \ sowohl versteckte als auch Systemattribute festgelegt sind.

    PS C:\Users\michael.DOMAIN> Get-Item c:\


    Directory:


Mode           LastWriteTime       Length Name
----           -------------       ------ ----
d--hs     8/18/2009 12:19 PM        <DIR> C:\

Nach dem Kopieren der Dateien können Sie attrib verwenden, um sie zu reparieren. Check out attrib /? für Details.

M Aguilar
quelle
Hm, ja, alle meine drei Festplatten haben auch diese Attribute ... Seltsam ist, dass meine D- und E-Laufwerke einen versteckten Systemordner haben, als ich sie in Ordner auf einem externen Laufwerk kopiert habe, während das C-Laufwerk dies nicht tat Ich verstehe das nicht ...
Svish
Ich habe das gleiche Problem mit einer versteckten Netzwerkfreigabe ( $). Ich bin Get-Itemauf diese Aktie gelaufen und es heißt auch, d--hsdass ich denke, das ist der Grund! Vielen Dank!
Chris Haas
Dies kann auch für Netzwerkfreigaben im Allgemeinen gelten, z. B. aus unserer Synology NAS-Box, in der \\ nas \ sharename als versteckter Ordner markiert ist. Wenn Sie diesen Ordner mit Robocopy mit / copyall oder / COPY: xAxxxx kopieren, das (A) Attribute enthält, wird der Zielordner mit denselben Attributen wie die Quelle erstellt.
BeowulfNode42
9

Dies hat mit dem Kopieren der versteckten / system System Volume-Informationen aus dem Stammverzeichnis einer Festplatte zu tun. Wenn sie kopiert werden, erhält das Zielverzeichnis die gleichen Attribute system / hidden.

Das Erstellen des Verzeichnisses vor dem Kopieren hilft nicht, da es durch Robocopy ebenfalls ausgeblendet wird.

Fügen Sie den /A-:SHSchalter hinzu, um Systemdateien zu ignorieren.

Weitere Informationen finden Sie in dieser Microsoft Technet-Diskussion .

xcxc
quelle
6

Ich bin auch auf dieses Problem gestoßen. Es scheint, als würde dieser versteckte Ordner angezeigt, wenn das Quellverzeichnis ein Stammverzeichnis des Laufwerks ist, z. D:\oder F:\. Diese Ordner enthalten das System und versteckte Attribute. Da es sich um einen Quellstammordner handelt, kann er vom attrib -s -hBefehl nicht entfernt werden .

In diesem Beispiel F:\ist die Quelle G:\das Ziel.

Sie können die Attribute in PowerShell sehen. Sie sehen den Modus d--hsfür Verzeichnis, versteckt & System. Versuchen Sie den get-itemBefehlC:\> Get-Item F:\

Robocopy wird es angeblich nicht als versteckten Ordner erstellen, wenn der Ordner existiert. Ich habe in einigen Beiträgen gelesen, dass die Verwendung von a /CREATEden Trick macht, oder Sie können die Ordner vorab manuell erstellen. Ich muss weitere Tests sowie andere Kombinationen durchführen, um dies vollständig zu überprüfen.

Andernfalls können Sie attrib -h -s G:\Destination_Folderdas System und das versteckte Attribut nach dem Kopieren entfernen.

JP Babiera
quelle
-1

Verwenden Sie die Lösung von M Aguilar, wenn Sie nichts dagegen haben, attribdanach zu laufen . Eine andere Lösung wäre, einfach das Zielverzeichnis vorher zu erstellen:

  1. mkdir I:\E
  2. robocopy E: I:\E /COPYALL /E /R:0 /MIR /B /ETA
jofafrazze
quelle
2
Dies hilft nicht - E wird nach dem Kopieren auf ein verstecktes System gesetzt.
Flyto