Vâng, nó là hoàn toàn có thể. Đơn giản chỉ cần viết một tập tin ba .bat. Cái đầu tiên sẽ trông như thế này:
@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
Tệp .bat thứ hai và thứ ba về cơ bản là giống nhau, ngoại trừ chúng khác nhau về tên của chúng. Cái đầu tiên sẽ được gọi là x86.bat thứ hai ia64.bat và chúng được đặt trong một thư mục có tên bin nằm phía trên tệp bat đầu tiên. Bạn sẽ có điều này:
PATH\first.bat
PATH\bin\x86.bat
PATH\bin\ia64.bat
Nội dung của tệp .bat thứ hai và thứ ba sẽ trông như thế này:
@set PATH=THE PATH YOU WANT
Bạn có thể tạo một liên kết đến tệp .bat đầu tiên sẽ có các cài đặt sau:
Mục tiêu:% comspec% / k "PATH \ first.bat" TÙY CHỌN | Trong đó TÙY CHỌN là x86 hoặc ia64
Bắt đầu tại: ĐƯỜNG | Trong đó PATH là ĐƯỜNG đầu tiên của bạn.
Kịch bản lệnh là tập lệnh đơn giản hóa mà Microsoft sử dụng để bắt đầu dòng lệnh đúng cho môi trường Visual Studio của họ. Bạn chỉ có thể mở rộng tập lệnh này đến N môi trường. Bằng cách thêm nhiều tệp .bat cho các môi trường khác nhau và bằng cách chỉnh sửa tệp First.bat với nhiều tùy chọn và câu lệnh goto hơn. Tôi hy vọng nó là tự giải thích.
Và tôi hy vọng Microsoft không kiện tôi vì đã sử dụng tập lệnh của họ.
BIÊN TẬP:
Ah tôi nghĩ rằng tôi đã hiểu lầm bạn một chút. Đối với dòng cmd 32 bit, liên kết phải được tạo như sau:
Mục tiêu:% Windir% \ SysWoW64 \ cmd.exe "PATH \ first.bat" x86
EDIT2:
Hãy thử một cái gì đó như:
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%
hiển thị đường dẫn khác nhau tùy thuộc vào loại cmd.exe mà nó chạy từ nhưngwhere ssleay32.dll
trong cả hai loại cmd.exe (32 bit và 64 bit) không thể tìm thấy dll này và hiển thịINFO: Could not find files for the given pattern(s).
Ý tưởng nào?