IF comandos em um arquivo em lotes

1

Estou escrevendo um pequeno arquivo de lote para substituir os temas e gráficos dos usuários no Office. Eu tenho o arquivo de lote abaixo que funciona muito bem.

cd c:\documents and settings\%username%\application data\microsoft\templates
echo Y | rmdir charts /s
mkdir charts
echo Y | del "c:\documents and settings\%username%\application data\microsoft\templates\document themes\*.*"

net use o: \servername\sms
copy "o:\ppt themes\charts\*.*" "c:\documents and settings\%username%\application data\microsoft\templates\charts"
copy "o:\ppt themes\Document Themes\*.*" "c:\documents and settings\%username%\application data\microsoft\templates\document themes"

c:
net use o: /delete

Agora, o que eu quero é que o acima seja executado somente se não tiver sido executado antes, pois estaremos explicando isso a todos os usuários por cerca de duas semanas para capturar pessoas que não estão em todos os dias.

Existe alguma maneira de começar o comando com algo para procurar por um dos novos temas / gráficos já enviados, e se ele estiver presente, ele não será executado?

Qualquer ajuda sobre isso seria muito apreciada, já que sou muito novo nesses arquivos em lote.

    
por Rossaluss 14.05.2010 / 20:51

1 resposta

2

if exist path\to\some\file\here goto end

.... the rest of your script here .... .... ....

:end

Observe os dois pontos que precedem o rótulo ('end', neste caso) - é importante. A palavra real do rótulo, "fim", não é mágica; qualquer palavra (usada em ambos os lugares) faria.

    
por 14.05.2010 / 21:12