Возникла надобность сделать автоматический запуск приложений с автоматическим определением ОС.
То есть если у нас ХР, то запускается одна программа, если Vista\7, то другая.
Наверное это будет выглядить как скрипт определяющий битность ОС
MVV, я в скриптах пока несилен, как использовать этот код для запуска той или иной программы при разных результатах данного кода?
Каков итоговый скрипт если у меня есть 2 программы:
Program1.exe запуск при XP
Program2.exe запуск при not ХР
Tol!k, жесть! Чего только мелкомягкие не придумали...
Даже не представляю, додумались ли они описать это в справке к какой-либо внутренней команде, и в какой могли бы...
> додумались ли они описать это
Хм, додумались: hh.exe %windir%\Help\ntcmds.chm::/ntcmds_shelloverview.htm
У приведённого кода есть "фича": если запуск progXP.exe завершится неудачей, будет запущена prog7.exe даже если ось не ХР.
Если это недопустимо, нужно сделать принудительный выход
Действительно. Кто б мог подумать, что Windows Help полезен... Я нашел информацию в системной справке в статье "Общие сведения о командной оболочке", та самая статья из файла ntcmds.chm.
Но у такого способа обработки есть один тонкий момент. Если команда, указанная между && и ||, выполняется не успешно, то команда за || выполнена будет. То есть, система попытается выполнить обе. В данном примере этой командой является команда start, то есть, если первая команда start провалится, командный процессор выполнит вторую, которая по условию задачи не предназначена для текущей операционной системы.
Я нашел информацию в системной справке в статье "Общие сведения о командной оболочке", та самая статья из файла ntcmds.chm.
Если выполнить команду hh.exe %windir%\Help\ntcmds.chm::/ntcmds_shelloverview.htm на Windows XP, то попадёшь именно на эту статью.
Но у такого способа обработки есть один тонкий момент.
Дополнил предыдущий пост.
То есть, система попытается выполнить обе.
Попытка выполнения второй команды будет только в случае неудачного выполнения первой. Если первая команда выполнена успешно, попытки выполнения второй не будет.