
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\*.*"