Archivos por lotes para crear accesos directos en múltiples ubicaciones usando la condición if

Archivos por lotes para crear accesos directos en múltiples ubicaciones usando la condición if

Tenemos un archivo por lotes que crea accesos directos en máquinas con Windows 2003. El comando que usamos es algo como:

echo copy the shortcut to the server All Users folder for windows 2003...
xcopy "%OutputDir%%LocalOutputDir%\Shortcuts\*.*" "\\%SERVERNAME%\c$\Documents and Settings\All Users\Start Menu\Programs\Startup\*.*"

Ahora, también tenemos algunas máquinas nuevas con Windows 2008 y la ruta de la carpeta de acceso directo (TODOS LOS USUARIOS) es diferente (C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup).

Entonces mi pregunta es ¿cómo ponemos una condición if para que si el archivo por lotes no encuentra la ubicación de 2003, guarde el acceso directo en la ubicación de la máquina de 2008...

¡Gracias!

Respuesta1

IF <statement>  (
..
..
) ELSE (
...
...
)

....... o declaraciones IF separadas sin ELSE en caso de que haya una tercera ruta

IF exist "\\%SERVERNAME%\c$\Documents and Settings\" (
...
...
)

IF exist "\\%SERVERNAME%\C:\ProgramData\Microsoft\Windows\Start Menu\" (
...
...
) 

es posible que desee utilizar/comprar la variable de entorno "PERFIL DE TODOS LOS USUARIOS"Te da acceso a las siguientes carpetas automáticamente:

en XP y 2000> C:\Documentos y configuraciones\Todos los usuarios
en Vista/Win7/+> C:\ProgramData

si usa la variable en lugar de la ruta codificada, no necesita la declaración IF...

xcopy "%OutputDir%%LocalOutputDir%\Shortcuts\*.*" "\\%SERVERNAME%\%ALLUSERSPROFILE%\Start Menu\Programs\Startup\*.*"

información relacionada