Я хочу записать .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 битов, но я хочу сделать сценарий универсальным. Есть ли какой-либо способ определить тот путь универсально?
Вы можете просто проверить его существование и сохранить путь;
@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
Я думаю, что вместо файла «летучая мышь» вам следует использовать файл VBScript / JScript. Любой из этих сценариев может быть выполнен интерпретатором сценариев Windows (wscript.exe / cscript.exe). Среда сценариев и интерпретаторы доступны во всех версиях окон, поэтому беспокоиться не о чем. Вы можете найти образцы кода для просмотра структуры каталогов, проверки наличия файлов и т. Д. С помощью VBScript. По большей части можно использовать объект FileSystemObject .
"whereis" - это команда Linux для этого, но порт для Windows доступен (по-моему, unxutils) . Без него вы не получите пути.