Comportamento di xcopy durante lo spostamento di file su un'unità di rete


4

Utilizzando un file batch, supponiamo che una directory su una macchina di rete, mappata su un'unità con net use.

net use \\"server name"\"share name" y:

Quindi da quella directory

y:
cd archive

An xcopyin un'altra posizione su quell'unità.

xcopy *.* backup\

Quale comportamento avrebbe xcopypreso? Una copia temporanea di *.*sarebbe inviata al computer host (quello su cui viene avviato il batch) solo per essere rispedita alla directory di destinazione o la copia verrebbe effettuata esclusivamente sull'unità di rete?

Risposte:


4

Per rispondere alla tua domanda: xcopy rileggerebbe tutti i file dal server al computer host e li rispedirebbe all'unità di rete.


Come domanda complementare, sarebbe possibile eseguire la copia interamente in remoto, ovvero non portare temporaneamente i file all'host?
MPelletier,

A parte l'avvio di un file batch sul server, dovrei dire.
MPelletier,

potresti voler provare psexec ... è simile all'avvio di un file batch sul server, ma ... technet.microsoft.com/en-us/sysinternals/bb897553.aspx
bubu

Qualcuno sa se Robocopy utilizza questo stesso comportamento?
Brettski,

Non è possibile creare un'attività pianificata sul computer remoto. Quindi attivare l'attività in remoto utilizzando il comando locale schtasks / run / S {servername} / TN {taskname}? Forse potresti passare variabili della posizione e della destinazione?
Yeodave,

1

Se esiste una sottodirectory "archivio", il comando "cd" riuscirà a modificare la directory di lavoro corrente.

Il comando "xcopy" finale copierà solo il contenuto della directory di lavoro corrente in una sottodirectory denominata "backup" relativa alla directory di lavoro corrente (se tale directory secondaria non esiste, allora xcopy potrebbe richiedere di confermare se si desidera che venga creato automaticamente o potrebbe anche chiederti se si desidera creare una directory o un file).

( Tutto ciò presuppone, ovviamente, che si abbia accesso in lettura / scrittura all'unità di rete Y: e che la mappatura sull'unità Y: abbia avuto esito positivo. )


Un approccio migliore sarebbe quello di copiare in destinazioni specifiche invece di supporre che tutti i comandi precedenti abbiano avuto successo. Ad esempio: XCOPY "\\ nome server \ nome condivisione \ archivio *. *" "\\ nome server \ nome condivisione \ archivio \ backup \"
Randolf Richardson

Buona nota Ma come notato da @bubu, ci sarebbe una copia temporanea fatta all'host anche con percorsi completi, giusto?
MPelletier,

1
@MPelletier: XCOPY archivia i dati nella RAM (localmente) prima di scriverli. Se l'origine e la destinazione si trovano sullo stesso server, non importa, i dati verranno comunque trasferiti via cavo in entrambi i modi. Novell disponeva di uno strumento simile chiamato NCOPY che istruiva un server NetWare a copiare i dati senza inviarli tramite il filo al / dal client (per preservare la larghezza di banda della rete) e, di conseguenza, poteva copiare i dati molto più velocemente. Per realizzare lo stesso effetto, probabilmente dovrai solo eseguire il comando XCOPY sul lato server.
Randolf Richardson,
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.