У меня есть скрипт установки, который должен работать по-разному, если работает на XP/2003 или 7/R2, и он работает отлично. UNTIL пару недель назад я узнал, что он не работает на XPe (отлично работает на 7e), оказывается, find.exe не входит в XPe.Пакетный файл для определения версии Windows на XP Embedded
Мой текущий скрипт использует:
ver | find "5." > nul
if %ERRORLEVEL% == 0 goto WinXP
goto Win7
Я заимствовал коллеги XPe устройство для проверки работоспособного решения, я пытался копировать FIND.EXE от XP Pro, но он по-прежнему не работает. Я пробовал разные версии (полный путь к findxp.exe, с/без .exe), но он по-прежнему не работает. Вот результат от XPe.
ver | findxp.exe "5." 1>nul
The system cannot find the file specified.
Все, что я действительно забочусь, чтобы определить, является ли это XP/2003, в противном случае я предполагаю, что это Vista (ха-ха) или 2008 или более поздней версии. Хотя я бы не стал возражать против решения, которое говорило мне, было ли это XPe, я думаю, что это может пригодиться или не пригодиться в будущем, хотя это, вероятно, сделает скрипт более сложным, поскольку ему придется учитывать все версии Windows.
Спасибо, Brian
Сегодня я нахожусь в офисе, увидев, могу ли я украсть эту машину XPe в течение нескольких часов, чтобы попробовать это. – Brian
Спасибо за это. Это прекрасно работало! Хотя мой скрипт довольно сложный и делает совсем немного, я не использовал никаких 'for' или' :: delims = "%% aa', поэтому мне придется посмотреть на это и поиграть с ним. Но это проще, чем решение Endoro (которое мне также понравилось и может в конечном итоге использовать в какой-то момент). Спасибо всем, что помогло !! – Brian
@Brian: Небольшая деталь, я думаю, недостаточно ясна, так это то, что «Endoro's решение »было написано мной. Просмотрите вторую ссылку в строке« © Aacini at dostips »под кодом в ответе Эндоро ... – Aacini