1

У нас есть командный файл, который создает ярлыки на компьютерах с 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 ответ1

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\ Все пользователи
на Vista/Win7/+> C:\ ProgramData

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .