2012-09-21 5 views
9

Sto cercando di creare uno script su Windows, che quando viene eseguito su un PC di amministrazione:Copiare i file al computer in linea di comando di rete di Windows

  1. Copia una cartella dal PC di amministrazione in un gruppo di PC della rete specificando l'indirizzo IP/intervallo
  2. Per ogni PC di destinazione, navigare nella cartella ed eseguire un altro file di script.

Utilizzando il metodo descritto da seanyboy here:

net use \\{dest-machine}\{destfolder} {password} /user:{username} 
copy {file} \\{dest-machine}\{destfolder} 

Non sono sicuro su come posso scrivere un 'per' ciclo di passare attraverso ogni 'dest-machine' e eseguire il passaggio 2. Qualsiasi idea sarebbe molto apprezzata.

risposta

2

Perché for? Cosa vuoi per iterare? Prova questo.

call :cpy pc-name-1 
call :cpy pc-name-2 
... 

:cpy 
net use \\%1\{destfolder} {password} /user:{username} 
copy {file} \\%1\{destfolder} 
goto :EOF 
8

controllo Robocopy:

ROBOCOPY \\server-source\c$\VMExports\ C:\VMExports\ /E /COPY:DAT

assicuratevi di controllare quale parametro robocopy che vuoi. Questo è solo un esempio. digitare robocopy /? in un comando/powershell sul sistema Windows.

2

Sotto comando funzionerà in prompt dei comandi:

copy c:\folder\file.ext \\dest-machine\destfolder /Z /Y 

per copiare tutti i file:

copy c:\folder\*.* \\dest-machine\destfolder /Z /Y 
+0

cosa vuol/Z/Y significa qui? –

+1

'/ Z' - Copia i file in rete in modalità riavviabile. '/ L' - Se la sorgente è un collegamento simbolico, copia il collegamento al target anziché il file effettivo a cui punta il link di origine. –