Como copio pastas / arquivos recentes de uma unidade de rede usando um arquivo em lotes?

2

Minha pergunta pode ter respondido de alguma forma ou de outra, mas infelizmente não obtive a resposta exata que estava procurando. Aqui está o que estou tentando fazer -

  1. crie uma pasta no pc1, c:\temp1
  2. mapear uma unidade de rede que contenha pastas / arquivos de origem - \server1\directory1folder01...10000 (cada sistema do dia cria apenas uma ou várias pastas, mas com registro de data e hora exclusivo
  3. copie a pasta mais recente que foi criada no PC1, por exemplo, c:\temp1

Isso é o que escrevi no arquivo em lote:

+++++++++++++++++++++++++++++++++

@echo off
mkdir c:\temp1

echo mapping drive...

net use Y:\server\directory1 /user:myusername mypassword

echo copying files/folders into c:\temp1....

xcopy Y:\ c:\temp1 /s/e/d:"%DATE%"

+++++++++++++++++++++++++++++++++

Cria o c:\temp1 e mapeia a unidade, mas não pode copiar.
Alguém pode me ajudar aqui?

Kam

    
por user158353 14.09.2012 / 18:01

2 respostas

2

% DATE% fornecerá o formato MM / DD / AAAA em vez do MM-DD-AAAA necessário

Tente, em vez disso, obter traços em vez de barras:

UK/Europe:  /D:%DATE:~3,2%-%DATE:~0,2%-%DATE:~6,4%
USA:        /D:%DATE:~4,2%-%DATE:~7,2%-%DATE:~10,4%

Como observação, se você estiver usando o Windows 7, use o comando 'Robocopy' / MINAGE / MAXAGE, pois ele é mais confiável do que o xcopy e oferece muito mais opções.

    
por 14.09.2012 / 20:46
1

você considerou algo como o seguinte? (porque é o que eu fiz pelo meu mesmo problema)

set folder=%DATE% 
mkdir "%folder%" 
cd "%folder%" 
powershell.exe "copy-item -Path \server\directory1\*.* -Destination ."

Agora, lembre-se de que essa solução só funcionará em máquinas com Windows 7, embora também possa funcionar no WinXP se você instalar o "powershell"

O que é bom sobre este método é que ele não requer mexer com nenhum compartilhamento, a única desvantagem é precisar do Win7 na máquina em que ele está sendo executado ou de instalar o powershell.

Eu apenas sei que isso funcionou como um encanto, boa sorte para você!

(também note que eu sou preguiçoso e apenas mudei o diretório atual para a pasta date, então quando eu digo para copiar, eu apenas copio para o local atual e é por isso que o destino é um período, você poderia facilmente mudar o período para o seu caminho local)

    
por 25.04.2013 / 00:09