متى يتم استخدام .exe ومتى لا؟

أنا لا أفهم حقا ما يجري وغير قادر على رؤية الفرق:

لقد قمت بتنزيل base64.exe لإنشاء نص base64 تحت النوافذ. لقد قمت بنسخها إلى C: \ Windows \ لأنها في متغير ٪ PATH٪ .

الآن أريد تجربتها: echo Hello | base64 يعمل بشكل رائع. حسنًا لا أحتاج إلى إلحاق .exe وبقدر ما أعرف لا أحتاج إلى القيام به أيضًا مع ملفات .bat و .com .

ولكن الآن لدي بعض أدوات cygwin المثبتة وعلى سبيل المثال حاول التي base64 ، والتي لا تعمل ، لأنه يقول أن base64 ليس في المسار . ثم قمت بكتابة التي base64.exe وحصلت على C: \ Windows .

حتى سؤالي الآن: عندما أحتاج إلى استخدام .exe وعندما لا أميل؟ هل هو فقط عندما أستخدم أدوات cygwin التي أحتاج إلى إلحاق. exe؟

0
بالمناسبة ، ويندوز لديه "أين" الأمر ، على غرار "التي". وبما أنها أداة Windows ، فإن "حيث base64" ستعمل كما تتوقع. :-)
وأضاف المؤلف Harry Johnston, مصدر
يعتمد ما إذا كنت تحتاج إلى تزويد ملحق الملف على الأداة التي تستخدمها أم لا. 1. لا تحتاج إلى تضمين .exe أو .bat أو .com عند تنفيذ الملفات. 2. تحتاج إلى تضمينه عند الاتصال التي .
وأضاف المؤلف David Heffernan, مصدر

1 إجابة

Cygwin هو shell الذي يحاكي سلوك UNIX. لا يعرف UNIX أي شيء عن .exe ، ولهذا السبب يتعذر على Cygwin العثور على base64.exe . تحت UNIX ، يتم تخزين الثنائيات بدون إضافة extionsion إلى اسم الملف الخاص بهم ، على سبيل المثال. فقط base64 .

يقوم Windows CMD تلقائيًا بإلحاق .bat و .com و .exe وما إلى ذلك بأسماء الملفات. Cygwin لا. لذلك إذا كنت تستخدم shell linux ، فيجب إلحاقه يدويًا.

بما أن Cygwin يدرك أنه يعمل دائمًا ضمن Windows ، فإنه قد يُلحق .exe إذا كنت تريد تنفيذ إجراءات معينة في shell نفسه (مثل فتح ملف) ، لتتصرف بشكل أكثر صداقة مع مستخدمي Windows الذين يتوقعون هذا سلوك. ومع ذلك ، قد لا تعمل البرامج التي تعمل تحت Cygwin على دمج هذه الميزات حيث تم تطويرها بشكل أساسي للاستخدام تحت UNIX. قد يكون هذا سببًا لفشل التي base64 .

0
وأضاف
ولكن إذا قمت بتشغيل أداة تحت باش الموردة ، فإنه يعمل أيضا بدون exe ... لذلك هناك شيء ما عابث قليلا هناك
وأضاف المؤلف reox, مصدر
توسيع بلدي الموثق. امل ان يساعد.
وأضاف المؤلف Lukas Schmelzeisen, مصدر