Linha de comando de cópia do Windows XP / 7 envolvendo junção

1

Eu tenho um script em lotes que precisa funcionar com o Windows XP (por enquanto) e com o Windows 7. O script também copia um link para a área de trabalho do Windows.

copy /Y path\to\the\link.lnk %ALLUSERSPROFILE%\Desktop\link.lnk

Isso funciona no Windows XP, mas não no Windows 7. Há% ALLUSERSPROFILE% \ Desktop é uma junção e, mesmo com a conta admin, recebo "Acesso negado" ao executar o comando. Eu pensei que as junções estavam lá para me encaminhar para o local correto (% PUBLIC% \ Desktop neste caso), mas parece que não funciona.

De alguma forma eu posso fazer uma linha de comando compatível com XP / 7?

    
por Sebastian Elsner 15.01.2013 / 12:44

1 resposta

0

Eu uso isso no Windows XP e no Windows 7 para definir uma variável para qual caminho usar. Neste código AUDESKTOP é definido dependendo de qual sistema operacional está sendo executado.

IF DEFINED PUBLIC (SET AUDESKTOP=%PUBLIC%\Desktop) ELSE (SET AUDESKTOP=%ALLUSERSPROFILE%\Desktop)

Em seguida, chame a variável na linha de comando assim:

copy /Y "path\to\the\link.lnk" "%AUDESKTOP%\link.lnk"

Quanto aos erros no Windows 7, verifique se há citações em torno dos caminhos. Se ainda assim não funcionar, tente run as administrator .

    
por 15.01.2013 / 16:23