O script em lote para testar se uma pasta existe falha ao verificar um caminho UNC

4

Eu escrevi um pequeno arquivo em lote para nos ajudar com uma migração de servidor para remapear diretórios de usuários usando o GPO.

No entanto, no arquivo em lote, estou tendo um problema de sintaxe que parece correto, mas ainda está falhando. Aqui está o que eu tenho até agora abaixo.

If exist "\server\UserData\%username%"     
GOTO :UNMAP    
ELSE    
NET USE H: \newserver\UserData\%USERNAME%    
:UNMAP    
NET USE H: /DELETE /Y    
NET USE H: \newserver\UserData\%USERNAME%

Agora, quando eu executo, recebo o seguinte:

The syntax of the command is incorrect.
C:\>if exist "\server\UserData\userfolder"

Alguma ideia de como resolver isso ou o que estou fazendo errado?

    
por Chad 03.08.2012 / 21:58

1 resposta

7

goto :unmap deve estar na mesma linha que o if

melhor ainda, simplifique a coisa toda assim:

If exist "\server\UserData\%username%\." NET USE H: /DELETE /Y
NET USE H: "\newserver\UserData\%USERNAME%"
    
por 03.08.2012 / 22:03