একটি কমান্ড প্রম্পট থেকে, আমি নিম্নলিখিত পেতে:
>echo %ProgramFiles%
C:\Program Files
যাইহোক, কিছু অ্যাপ্লিকেশন (এই ক্ষেত্রে পিএইচপি, যদিও আমি অ্যাপাচের httpd.conf থেকে একই আচরণ দেখেছি) তা হ'ল:
>php -r "echo $_ENV['ProgramFiles'];"
C:\Program Files (x86)
কেন?
পটভূমি: আমি এমন স্ক্রিপ্টগুলি বিকাশ করছি যা হোস্ট ওএসের 32 অবিট বা 64 বিট হওয়ায় অজ্ঞানীয় এবং কনফিগারেশন ফাইলের জন্য এটি দুর্দান্ত কাজ করে। একটি 32 বিট সিস্টেমে %ProgramFiles%
হ'ল "সি: \ প্রোগ্রাম ফাইলগুলি" এবং 64৪ বিট সিস্টেমে একই দেখা যায় %ProgramFiles%
যা প্রত্যাবর্তন করে C:\Program Files (x86)
। আমি কেবল কৌতূহলী যে আমি যখন উইন্ডোজ কমান্ড প্রম্পট (বা এক্সপ্লোরার বারে ইত্যাদি) থেকে চেষ্টা করি তখন কেন এটি সত্য হয় না। একটি 64 বিট কমান্ড প্রম্পট বা কিছু আছে?
%programfiles%
রিটার্নগুলিC:\Program Files
(উইন্ডোজের একটি ডিফল্ট কনফিগারেশনে)। উইন্ডোজ এর x64 সংস্করণে,%programfiles(x86)
ফিরে আসেC:\Program Files (x86)
। পিএইচপি কেন তার বিপরীতে কিছু ফিরিয়ে দিচ্ছে তা নিশ্চিত নয়, তবে আপনিset
x64 উইন্ডোজ এবং x86 উইন্ডোজ কমান্ড প্রম্পট থেকে চালিত কোনও নির্দিষ্ট সিস্টেমের জন্য পরিবেশগত পরিবর্তনশীলগুলি কী সেট করে তা আপনি সহজেই যাচাই করতে পারেন ।