Ja, das ist absolut möglich. Schreiben Sie einfach drei .bat-Dateien. Der erste sollte so aussehen:
@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
Die zweite und die dritte .bat-Datei sind grundsätzlich identisch, außer dass sie sich in ihrem Namen unterscheiden. Die erste Datei heißt x86.bat und die zweite ia64.bat. Sie wird in einem Ordner namens bin abgelegt, der über der ersten bat-Datei liegt. Sie werden folgendes haben:
PATH\first.bat
PATH\bin\x86.bat
PATH\bin\ia64.bat
Der Inhalt der zweiten und dritten .bat-Datei sollte folgendermaßen aussehen:
@set PATH=THE PATH YOU WANT
Sie können einen Link zur ersten .bat-Datei erstellen, die die folgenden Einstellungen enthält:
Ziel:% comspec% / k OPTION "PATH \ first.bat" | Wobei OPTION x86 oder ia64 ist
Start in: PFAD | Wobei PFAD der PFAD zu Ihrer first.bat ist
Das Skript ist das vereinfachte Skript, mit dem Microsoft die richtige Befehlszeile für die Visual Studio-Umgebung startet. Sie können diese Skripte einfach auf N Umgebungen erweitern. Indem Sie mehr .bat-Dateien für verschiedene Umgebungen hinzufügen und die first.bat mit mehr Optionen und goto-Anweisungen bearbeiten. Ich hoffe es ist selbsterklärend.
Und ich hoffe, Microsoft verklagt mich nicht für die Verwendung ihres Skripts.
BEARBEITEN:
Ah, ich glaube, ich habe dich ein bisschen missverstanden. Für die 32-Bit-Cmd-Zeile sollte der Link wie folgt erstellt werden:
Ziel:% windir% \ SysWoW64 \ cmd.exe "PATH \ first.bat" x86
EDIT2:
Versuchen Sie etwas wie:
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%
zeigt je nach cmd.exe-Typ einen anderen Pfad an, aberwhere ssleay32.dll
in beiden cmd.exe-Typen (32-Bit und 64-Bit) wird diese DLL nicht gefunden, und es werdenINFO: Could not find files for the given pattern(s).
Ideen angezeigt ?