Как проверить местоположение папки Program Files на 32 бита в окнах .bat сценарий

Я хочу записать .bat сценарий, который работает под всеми ароматами Windows, неважно, если 32 или 64 бита.

В этом сценарии я хочу выполнить некоторый file.exe. Тот файл расположен в C:\Program Files\ под 32-разрядными системами или C:\Program FIles (x86)\ under x64 systems. Я могу записать:

"%ProgramFiles (x86) % \file.exe" системы на менее чем 64 бита или системы "%ProgramFiles %\file.exe" менее чем 32 битов, но я хочу сделать сценарий универсальным. Есть ли какой-либо способ определить тот путь универсально?

5
задан Salman A 15 May 2013 в 18:04
поделиться

3 ответа

Вы можете просто проверить его существование и сохранить путь;

@echo off & setLocal enabledelayedexpansion
if exist "C:\Program Files\app1.exe" (
 set PPATH="C:\Program Files\"
) else (
 set PPATH="C:\Program Files(x86)\"
)

start "" %PPATH%app1.exe
start "" %PPATH%app2.exe
start "" %PPATH%app3.exe
6
ответ дан 18 December 2019 в 13:11
поделиться

Я думаю, что вместо файла «летучая мышь» вам следует использовать файл VBScript / JScript. Любой из этих сценариев может быть выполнен интерпретатором сценариев Windows (wscript.exe / cscript.exe). Среда сценариев и интерпретаторы доступны во всех версиях окон, поэтому беспокоиться не о чем. Вы можете найти образцы кода для просмотра структуры каталогов, проверки наличия файлов и т. Д. С помощью VBScript. По большей части можно использовать объект FileSystemObject .

1
ответ дан 18 December 2019 в 13:11
поделиться

"whereis" - это команда Linux для этого, но порт для Windows доступен (по-моему, unxutils) . Без него вы не получите пути.

1
ответ дан 18 December 2019 в 13:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: