はい、絶対に可能です。3つの.batファイルを記述するだけです。最初のものは次のようになります。
@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
2番目と3番目の.batファイルは、名前が異なる以外は基本的に同じです。最初はx86.bat、2番目はia64.batと呼ばれ、最初のbatファイルの上にあるbinというフォルダーに配置されます。これがあります:
PATH\first.bat
PATH\bin\x86.bat
PATH\bin\ia64.bat
2番目と3番目の.batファイルの内容は次のようになります。
@set PATH=THE PATH YOU WANT
次の設定を持つ最初の.batファイルへのリンクを作成できます。
ターゲット:%comspec%/ k "PATH \ first.bat"オプション| OPTIONがx86またはia64の場合
開始:PATH | PATHは、first.batへのパスです
このスクリプトは、MicrosoftがVisual Studio環境に適したコマンドラインを起動するために使用する簡略化されたスクリプトです。このスクリプトをN環境に単純に拡張できます。さまざまな環境用に.batファイルを追加し、より多くのオプションとgotoステートメントでfirst.batを編集します。それが自己説明的であることを願っています。
そして、マイクロソフトが彼らのスクリプトを使用したとして私を訴えないことを願っています。
編集:
ああ、私はあなたを少し誤解したと思う。32ビットcmd行の場合、リンクは次のように作成する必要があります。
ターゲット:%windir%\ SysWoW64 \ cmd.exe "PATH \ first.bat" x86
EDIT2:
次のようなものを試してください:
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%
実行元のcmd.exeのタイプに応じて異なるパスを表示しwhere ssleay32.dll
ますが、cmd.exeの両方のタイプ(32ビットと64ビット)でこのdllが見つからず、INFO: Could not find files for the given pattern(s).
アイデアが表示されますか?