У меня есть пакетный скрипт, который выполняет анализ системы Windows. Но чтобы собирать информацию обозревателя, я должен проверить, установлены ли браузеры. Путь всех браузеров зависит от архитектуры системы (Program Files или Program Files (x86)). Поэтому я также проверяю, является ли система 32-битной или 64-битной и сохраняет путь в переменной% program_files%. Но хотя у меня есть Google Chrome на моем компьютере, программа выводит сообщение об ошибке: «Chrome, похоже, не установлен». Ниже приведен код, описанный:Пакетный скрипт для проверки наличия каталогов
Setlocal EnabledDelayedExpansion
Set RegQry=HKLM\Hardware\Description\System\CentralProcessor\0
REG.exe Query %RegQry% > %usbpath%CheckOS.txt
Find /i "x86" < %usbpath%CheckOS.txt > %usbpath%StringCheck.txt
IF %ERRORLEVEL% == 0 (
SET PROGRAM_FILES=%PROGRAMFILES%
) ELSE (
SET "PROGRAM_FILES= %PROGRAMFILES(x86)%"
)
ECHO Check Google Chrome installation
IF NOT EXIST "!PROGRAM_FILES!\Google\Chrome\" GOTO SKIPG_CHROME
ECHO Running Google ChromeCacheView
:SKIPG_CHROME
ECHO Google Chrome doesn't seem to be installed. ChromeCacheView skipped.
Не следует использовать строку 'IF NOT EXIST '! PROGRAM_FILES! \ ...' на самом деле '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ''. –
Я пробовал это, но он не работает из-за скобки пути Файлы программы (x86) – marym92
Вам не хватает «%», 'SET» PROGRAM_FILES =% PROGRAMFILES (x86)% "' –