Executar lote como ADMIN e usar robocopy

0

Eu preciso copiar de %USERPROFILE%\Desktop para B:\Desktop , em que B é uma unidade de rede mapeada. O código dentro do arquivo BAT é:

powercfg -change -standby-timeout-ac 0
robocopy "C:\USER\DESKTOP\" "B:\DESKTOP"
powercfg -change -standby-timeout-ac 1
shutdown /s -t 0

Na linha 1, eu quero que o Windows nunca suspenda, desligue, vá para o protetor de tela ... Apenas fique acordado. Então execute o robocopy, estou usando "/ XJ / E / Z / R: 5 / W: 1" no BAT que realmente funciona. A linha 3 é para definir que o win7 pode fazer o que quiser, só para não ficar acordado. Então desligue o computador.

Isso é o que eu recebo:

-------------------------------------------------------------------------------
   ROBOCOPY     ::     Robust File Copy para Windows

-------------------------------------------------------------------------------

  Iniciado: Tue Jan 27 15:17:08 2015

2015/01/27 15:17:08 ERRO 3 (0x00000003) Obtendo Tipo de Sistema de Arquivos do D
estino B:\TESTE\
O sistema não pode encontrar o caminho especificado.

   Origem : C:\USER\DESKTOP\
     Dest - B:\DESKTOP\

    Arquivos: *.*

  Opções: *.* /COPY:DAT /R:1000000 /W:30

------------------------------------------------------------------------------

2015/01/27 15:17:08 ERRO 3 (0x00000003) Criando Diretório de Destino B:\TESTE\
O sistema não pode encontrar o caminho especificado.

É em portugues, mas a mensagem é o erro clássico 3 um.

Se eu executar como Admin, que é necessariamente usar powercfg, o robocopy não será executado. Se eu executar como usuário, o robocopy é executado normalmente, mas não consigo usar o powercfg.

O que fazer?

    
por Guilherme Ramos 27.01.2015 / 18:21

1 resposta

1

Restabelecer o mapeamento B: :

powercfg -change -standby-timeout-ac 0
if not exist B:\desktop\nul net use B: \ComputerName\ShareName /PERSISTENT:No
robocopy "C:\USER\DESKTOP\" "B:\DESKTOP"
powercfg -change -standby-timeout-ac 1
shutdown /s -t 0

ou, com teste diferente:

powercfg -change -standby-timeout-ac 0
net use b:
if %errorleve% NEQ 0 net use B: \ComputerName\ShareName /PERSISTENT:No
robocopy "C:\USER\DESKTOP\" "B:\DESKTOP"
powercfg -change -standby-timeout-ac 1
shutdown /s -t 0
    
por 27.01.2015 / 22:33