Perché RoboCopy crea una cartella di sistema nascosta?


10

Ho pensato di provare RoboCopy per il mirroring del contenuto di una cartella su un altro disco rigido. E sembra che abbia funzionato. Ma, per qualche motivo, per vedere la cartella di destinazione devo abilitare Mostra file, cartelle e unità nascosti e disabilitare Nascondi file del sistema operativo protetto . Perchè è questo? Sia la cartella di origine che quella di destinazione erano inizialmente sia directory visibili che normali. Quando apro le proprietà per quella cartella di destinazione, l' attributo Hidden è persino disabilitato. Cosa sta succedendo qui?

È perché l'ho eseguito nel prompt dei comandi dell'amministratore? O è un problema con la mia scelta di modificatori? O Robocopy funziona davvero in questo modo?

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

Aggiornamento: ho provato a copiare un'altra unità in un'altra cartella e ho ottenuto la stessa cosa lì. Ma quando provo a copiare una cartella in un'altra cartella, la cartella di destinazione rimane normale. Potrebbe essere perché copio un disco? In tal caso, come posso evitare che ciò accada? Perché voglio davvero copiare l'intero disco ...


La creazione anticipata della directory non funziona. Non appena esegui di nuovo la copia robo, gli attributi lo rendono nuovamente nascosto. Il comando attributo funziona.

Risposte:


9

Sul mio sistema (Vista), PowerShell mostra l'unità c: \ con l'impostazione degli attributi sia nascosti che di sistema.

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


    Directory:


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

Dopo aver copiato i file, è possibile utilizzare attrib per correggerli. Guarda attrib /? per dettagli.


Hm, sì, anche tutti e tre i miei dischi rigidi hanno quegli attributi ... La cosa strana è che i miei dischi D ed E hanno una cartella di sistema nascosta quando li ho spostati in cartelle su un disco esterno, mentre il disco C non ha fatto Oo Non capisco ...
Svish,

Sto riscontrando lo stesso problema con una condivisione di rete nascosta ( $). Ho corso Get-Itemsu quella condivisione e dice anche d--hsquindi immagino che sia la ragione! Grazie!
Chris Haas,

Ciò può valere anche per le condivisioni di rete in generale, ad esempio dalla nostra casella Synology NAS, che contrassegna \\ nas \ sharename come cartella nascosta. Quando si copia quella cartella con robocopy con / copyall o / COPY: xAxxxx che include (A) ttributes, la cartella di destinazione viene creata con gli stessi attributi dell'origine.
BeowulfNode42

9

Ha a che fare con la copia delle informazioni sul volume di sistema nascosto / di sistema dalla radice di un disco: se viene copiato, la directory di destinazione ottiene gli stessi attributi di sistema / nascosto.

La creazione della directory prima della copia non aiuta in quanto anche robocopy la nasconderà.

Aggiungi l' /A-:SHopzione per ignorare i file di sistema.

Ulteriori informazioni in questa discussione su Microsoft Technet .


6

Ho anche riscontrato questo problema. Sembra che questa cartella nascosta venga visualizzata quando la directory di origine è una radice dell'unità, ad es. D:\o F:\. Queste cartelle conterranno il sistema e gli attributi nascosti e, essendo una cartella principale di origine, non possono essere rimosse dal attrib -s -hcomando.

In questo esempio, F:\è l'origine G:\è la destinazione.

Puoi vedere gli attributi in PowerShell. Vedrai la modalità d--hsper directory, nascosto e sistema. Prova il get-itemcomandoC:\> Get-Item F:\

Robocopy presumibilmente non lo creerà come cartella nascosta se la cartella esiste. Ho letto su alcuni post che l'uso di a /CREATEfarà il trucco, oppure puoi creare le cartelle manualmente in anticipo. Devo fare ulteriori test e altre combinazioni per verificarlo completamente.

Altrimenti, puoi fare un attrib -h -s G:\Destination_Folderper rimuovere il sistema e l'attributo nascosto dopo la copia.


-1

Usa la soluzione di M Aguilar se non ti dispiace correre attribdopo. Un'altra soluzione sarebbe quella di creare prima la directory di destinazione:

  1. mkdir I:\E
  2. robocopy E: I:\E /COPYALL /E /R:0 /MIR /B /ETA

2
Questo non aiuta - E è impostato sul sistema nascosto dopo la copia.
Flyto
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.