Пакетные файлы для создания ярлыков в нескольких местах с использованием условия if

Пакетные файлы для создания ярлыков в нескольких местах с использованием условия if

У нас есть пакетный файл, который создает ярлыки на машинах с Windows 2003. Команда, которую мы используем, выглядит примерно так:

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

Теперь у нас есть несколько новых машин с Windows 2008, и их путь к папке ярлыков (ВСЕ ПОЛЬЗОВАТЕЛИ) отличается (C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup).

Итак, мой вопрос заключается в том, как нам задать условие if, чтобы, если пакетный файл не найдет местоположение 2003, он сохранил ярлык в местоположении машины 2008...

Спасибо!

решение1

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

....... или отдельные операторы IF без ELSE в случае, если есть третий путь

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

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

вы можете использовать/проверить переменную окружения "ALLUSERSPROFILE" Он автоматически предоставляет вам доступ к следующим папкам:

в XP и 2000> C:\Documents and Settings\All Users
в Vista/Win7/+> C:\ProgramData

если вы используете переменную вместо жестко закодированного пути, вам не нужен оператор IF...

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

Связанный контент