مرحبًا بك حسب العنوان ، عندما أحاول في موجه cmder إنشاء اسم مستعار بعلامة التساوي ، يتم اقتطاع ما يأتي مع =
ولا يتم تخزينه بشكل صحيح في ملف user-aliases.cmd
.
على سبيل المثال:
λ alias wifi=netsh wlan show profile $1 key=clear
سيتم تخزينها على النحو التالي:
wifi=netsh wlan show profile $1 ke
أعتقد أنه بالنسبة لـ $reasons
cmder يقرأ y=clear
كـ $something
يستحق التقييم وبالتالي فهو منفصل عن عملية تخزين الاسم المستعار الفعلي. يؤدي تحرير الملف يدويًا إلى التغلب على هذه المشكلة بسرعة.
هل أفتقد بشكل صارخ شيئًا ما في ولم أقم بقراءته بدقة؟ 😛
يبدو أن الأمر doskey (الذي يلتف الاسم المستعار) يتعامل مع المثال الخاص بك ، لذلك قد يكون هذا خطأ في البرنامج النصي alias.bat.
يمكنك التصحيح عن طريق تعديل alias.bat وتغيير السطر الأول إلى <strong i="6">@echo</strong> on
. بالنظر إليها الآن ، أرى أن هناك نقطة يقسم فيها البرنامج النصي سلسلة الاسم المستعار باستخدام "=" كمحدد ، ويفترض أنه سيكون هناك واحد فقط = في السلسلة.
إليك إصلاح: في alias.bat ، ابحث عن السطر الذي يقول ":: Validate alias" وفي السطر التالي استبدل '2' بـ '*' ، مثل:
لـ / f "delims == tokens = 1، * usebackq" ٪٪ G in ( echo "%_x%"
) تفعل (
يبدو أن هذا يعمل بالنسبة لي مع مثالك.
شكرًا لك على شرح المشكلة المطروحة بالتفصيل ، وهي مفيدة جدًا بالنسبة لي لأنني مبتدئ في عناصر CMD! :)
أستطيع أن أؤكد أن تصحيحك أصلح المشكلة ، شكرًا لك! هل يجب أن أقوم بإجراء العلاقات العامة؟
يمكنني إنشاء طلب سحب مع الإصلاح. شكرا لتأكيد أنه يعمل من أجلك.
التعليق الأكثر فائدة
يبدو أن الأمر doskey (الذي يلتف الاسم المستعار) يتعامل مع المثال الخاص بك ، لذلك قد يكون هذا خطأ في البرنامج النصي alias.bat.
يمكنك التصحيح عن طريق تعديل alias.bat وتغيير السطر الأول إلى
<strong i="6">@echo</strong> on
. بالنظر إليها الآن ، أرى أن هناك نقطة يقسم فيها البرنامج النصي سلسلة الاسم المستعار باستخدام "=" كمحدد ، ويفترض أنه سيكون هناك واحد فقط = في السلسلة.إليك إصلاح: في alias.bat ، ابحث عن السطر الذي يقول ":: Validate alias" وفي السطر التالي استبدل '2' بـ '*' ، مثل:
لـ / f "delims == tokens = 1، * usebackq" ٪٪ G in (
echo "%_x%"
) تفعل (يبدو أن هذا يعمل بالنسبة لي مع مثالك.