سؤال

في * Nix العديد من تطبيقات سطر الأوامر التي تقبل أسماء الملفات كجدات تقبل الأنابيب أيضا. مثال:

anApplication file.txt

يعمل أيضا مع

anApplication | anotherApplication arguments

ويتم إعادة توجيه نتيجة "الاخرين" إلى "التوصيل" كما كان ملف

لقد تعلمت أن Windows ما يعادل هذا هو "أنبوب مسمى". وأتساءل عما إذا كان يجب أن يكون تطبيق سطر الأوامر على دراية بالأنابيب المسماة لفهمه، أو إذا كان أي تطبيق سطر الأوامر يقبل ملف كوسيطة تعمل مع أنبوب مسمى بدلا من ذلك.

هل كانت مفيدة؟

المحلول

لديك هذه إلى الوراء تماما. فقط لتكون دقيقة:

anApplication file.txt

هذا يعمل anApplication مع اسم الملف file.txt كوسيطة سطر الأوامر الأولى.

anApplication | anotherApplication arguments

هذا يعمل anApplication مع عدم وجود حجج سطر الأوامر. يتم توصيل قياسي خارج معيار anotherApplication الذي يتم تشغيل مع arguments كما حجج سطر الأوامر. هذا هو نفسه تماما على Windows كما هو في إصدارات UNIX. الأنابيب المسماة هي ميزة نظام التشغيل المختلفة تماما.

الأنبوب المسمى هو إدخال دليل يشبه ملف، ولكن يعمل مثل تيار من البيانات التي يمكنك إرفاق الإخراج والإدخال إليها.

نصائح أخرى

أ اسمه الأنابيب على Windows شيء مختلف تماما مما كنت تتحدث عنه. الأنبوب المسمى هو في الواقع أداة للمساعدة في بناء تطبيقات الخادم على Windows، وهو ما يعادل تقريبا "مقبس نطاق UNIX".

في وضعك، سواء anApplication يعتمد Works في هذا الوضع على كيفية تفاعل التطبيق عند التنفيذ دون اسم ملف في سطر الأوامر. (أنا أتحدث عن الترتيب في وصفك؛ سطر الأوامر للخلف كما هو مذكور من إجابة أخرى.) إذا كان التطبيق يقرأ من stdin عند البدء بدون سطر الأوامر، فإن هذا النوع من ترتيب أنابيب قذيفة سيعمل. إذا بدلا من ذلك، فإن التطبيق يطبع رسالة تعليمية وإخراج عند بدء تشغيل اسم ملف، ثم لن يعمل أنبوب الشل هذا.

Afaik يعمل الشيء نفسه تحت النوافذ كما هو الحال في UNIX. أفترض أن بعض وظائف API وحدة التحكم Win32 الأكثر تقدما قد تجاوز هذا، ولكن عليك أن تقرأ الوثائق لذلك.

لاحظ أن هذا هو بناء جملة cmd.exe.

يجب أن يعمل هذا النوع من إعادة توجيه الأنابيب مع أي برنامج، حتى الإجابة على سؤالك المحدد، لا يحتاج البرنامج إلى رمز خاص إذا كان تطبيق وحدة التحكم القياسية.

هناك تحذير واحد - إذا كان البرنامج يحصل على إدخال من خلال نماذج مراقبة لوحة المفاتيح الخاصة من API وقت التشغيل، فلن تعمل إعادة التوجيه.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top