Tak, jest to absolutnie możliwe. Po prostu napisz trzy pliki .bat. Pierwszy powinien wyglądać tak:
@echo off
if "%1" == "" goto x86
if not "%2" == "" goto usage
if /i %1 == x86 goto x86
if /i %1 == ia64 goto ia64
goto usage
:x86
if not exist "%~dp0bin\x86.bat" goto missing
call "%~dp0bin\x86.bat"
goto :eof
:ia64
if not exist "%~dp0bin\ia64.bat" goto missing
call "%~dp0bin\ia64.bat"
goto :eof
:usage
echo Error in script usage. The correct usage is:
echo %0 [option]
echo where [option] is: x86 ^| ia64
echo:
echo For example:
echo %0 x86
goto :eof
:missing
echo The specified configuration type is missing. The tools for the
echo configuration might not be installed.
goto :eof
Drugi i trzeci plik .bat są w zasadzie takie same, z tą różnicą, że różnią się nazwą. Pierwszy nazywa się x86.bat, a drugi ia64.bat i są one umieszczane w folderze o nazwie bin, który znajduje się nad pierwszym plikiem nietoperza. Będziesz miał to:
PATH\first.bat
PATH\bin\x86.bat
PATH\bin\ia64.bat
Zawartość drugiego i trzeciego pliku .bat powinna wyglądać następująco:
@set PATH=THE PATH YOU WANT
Możesz utworzyć link do pierwszego pliku .bat, który będzie miał następujące ustawienia:
Cel:% comspec% / k "PATH \ first.bat" OPCJA | Gdzie OPCJA to x86 lub ia64
Zacznij za: ŚCIEŻKA | Gdzie ŚCIEŻKA jest ŚCIEŻKĄ do pierwszego. Nietoperza
Skrypt jest uproszczonym skryptem używanym przez Microsoft do uruchomienia odpowiedniego wiersza poleceń dla środowiska Visual Studio. Możesz po prostu rozszerzyć ten skrypt na N środowisk. Dodając więcej plików .bat dla różnych środowisk i edytując plik first.bat z większą liczbą opcji i instrukcji goto. Mam nadzieję, że to samo wyjaśnia.
Mam nadzieję, że Microsoft nie pozwie mnie za użycie ich skryptu.
EDYTOWAĆ:
Ach, chyba źle cię zrozumiałem. Dla 32-bitowej linii cmd link powinien zostać utworzony jako:
Cel:% windir% \ SysWoW64 \ cmd.exe „PATH \ first.bat” x86
EDYCJA 2:
Wypróbuj coś takiego:
if "%ProgramFiles%" == "%ProgramFiles(x86)%" goto x64_PATH
if "%ProgramFiles%" == "%ProgramW6432%" goto x86_PATH
:x64_PATH
@set PATH=YOUR 64 bit PATH
SOME_PATH\your64BitApp.exe
goto :eof
:x86_PATH
@set PATH=YOUR 32bit PATH
SOME_PATH\your32BitApp.exe
goto :eof
echo %programfiles%
pokazuje inną ścieżkę w zależności od typu cmd.exe, z którego jest uruchamiany, alewhere ssleay32.dll
w obu typach cmd.exe (32-bitowy i 64-bitowy) nie można znaleźć tej biblioteki DLL i wyświetlaINFO: Could not find files for the given pattern(s).
jakieś pomysły?