10Sep

كيفية إنشاء أسماء عشوائية & أمب؛أرقام الهاتف مع بويرشيل

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

ما تحتاجه

قبل أن تبدأ، هناك بعض الأدوات والمعلومات التي يجب أن يكون لديك:

بويرشيل

وقد تم تطوير هذا البرنامج النصي باستخدام بويرشيل 4.0، كما تم اختباره للتوافق مع بويرشيل 2.0.وقد تم بناء بويرشيل 2.0 أو في وقت لاحق إلى ويندوز منذ ويندوز 7. وهو متاح أيضا لنظامي التشغيل ويندوز زب و فيستا كجزء من إطار إدارة ويندوز( ومف).وفيما يلي بعض التفاصيل الأخرى، وروابط للتنزيل.

  • بويرشيل 2.0 يأتي مع ويندوز 7. يمكن للمستخدمين ويندوز زب SP3 و فيستا( SP1 أو أحدث) تحميل النسخة ومف المناسبة من ميكروسوفت في KB968929.غير معتمد على زب SP2 أو أقل، أو فيستا دون SP1.
  • بويرشيل 4.0 يأتي مع ويندوز 8.1.يمكن لمستخدمي ويندوز 7 SP1 الترقية إليه كجزء من تحديث ومف من "مركز التنزيل ل ميكروسوفت".وهو غير متاح ل زب أو فيستا.

الأسماء

ستحتاج إلى بعض قوائم الأسماء لتغذية في مولد عشوائي.مصدر كبير ل الكثير من الأسماء، والمعلومات المتعلقة بشعبيتها( على الرغم من أن لن تستخدم لهذا البرنامج النصي)، هو مكتب تعداد الولايات المتحدة.القوائم المتاحة في الروابط أدناه كبيرة جدا، لذلك قد ترغب في تقليمها قليلا إذا كنت تخطط لتوليد الكثير من الأسماء والأرقام في وقت واحد.على نظام الاختبار لدينا، استغرق كل زوج اسم / رقم حوالي 1.5 ثانية لتوليد باستخدام القوائم الكاملة ولكن عدد الكيلومترات سوف تختلف اعتمادا على مواصفات النظام الخاص بك.

  • الألقاب
  • أسماء الذكور الأولى
  • أسماء النساء الأولى

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

Surnames.txt يجب أن يحتوي على الألقاب التي تريد أن يقوم البرنامج النصي بتحديدها.مثال:

سميث جونسون ويليامز جونز براون

يجب أن يحتوي Males.txt على الأسماء الأولى للذكور التي تريد أن يقوم البرنامج النصي بتحديدها.على سبيل المثال:

جيمس جون روبرت مايكل ويليام

Females.txt يجب أن تحتوي على الأسماء الأولى الإناث تريد البرنامج النصي للاختيار من بينها.مثال:

ماري باتريشيا ليندا باربرا إليزابيث

قواعد أرقام الهواتف

إذا كنت تريد التأكد من أن أرقام الهواتف الخاصة بك لا تتطابق مع رقم الهاتف الحقيقي لأي شخص، فإن أسهل طريقة هي استخدام رمز "555" إكسهانج المعروف.ولكن إذا كنت تريد الذهاب إلى أن تظهر مجموعة بيانات مع الكثير من أرقام الهواتف، أن 555 سوف تبدأ في تبدو جميلة رتابة حقيقية بسرعة.لجعل الأمور أكثر إثارة للاهتمام، سنقوم بإنشاء أرقام هواتف أخرى تنتهك قواعد ترقيم أمريكا الشمالية( نانب).في ما يلي بعض أرقام الهواتف غير الصالحة التي تمثل كل فئة من الأرقام التي سيتم إنشاؤها بواسطة هذا البرنامج النصي:

  • ( 157) 836-8167
    هذا الرقم غير صحيح لأن رموز المنطقة لا يمكن أن تبدأ ب 1 أو 0.
  • ( 298) 731-6185
    هذا الرقم غير صالح لأن نانب لا يتم تعيين رموز المنطقة مع 9 كعدد الثاني.
  • ( 678) 035-7598
    هذا الرقم غير صحيح لأن رموز إكسهانج لا يمكن أن تبدأ مع 1 أو 0.
  • ( 752) 811-1375
    هذا الرقم غير صحيح لأن رموز إكسهانج لا يمكن أن تنتهي مع 1S.
  • ( 265) 555-0128
    هذا الرقم غير صحيح لأن رمز إكسهانج هو 555 و و معرف المشترك ضمن النطاق المحجوز للأرقام الوهمية.
  • ( 800) 555-0199
    هذا الرقم هو الرقم 800 الوحيد الذي يحتوي على رمز 555 إكسهانج المحجوز للاستخدام كعدد وهمية.

لاحظ أن القواعد المذكورة أعلاه قابلة للتغيير وقد تختلف باختلاف الولاية القضائية.يجب عليك إجراء البحوث الخاصة بك للتحقق من القواعد الحالية التي تنطبق على اللغة التي سوف تكون توليد أرقام الهواتف.

أوامر مشتركة

هناك بعض الأوامر الشائعة إلى حد ما التي سيتم استخدامها في جميع أنحاء هذا السيناريو، لذلك يجب أن تحصل على فكرة أساسية عن ما يعني ذلك قبل أن يغوص في الكتابة فعلا.

  • فوريتش-أوبجيكت يأخذ مصفوفة أو قائمة من الكائنات ويقوم بتنفيذ العملية المحددة على كل منها.ضمن كتلة البرنامج النصي فوريتش-أوبجيكت، يتم استخدام المتغير $ _ للإشارة إلى العنصر الحالي الذي تتم معالجته.
  • إذا. .. تسمح لك عبارات بإجراء عملية فقط في حالة استيفاء شروط معينة، وتحديد( اختياريا) ما يجب القيام به عند عدم استيفاء هذه الحالة.
  • التبديل البيانات هي مثل إذا البيانات مع المزيد من الخيارات.سيقوم المفتاح بالتحقق من كائن ضد عدة شروط، وتشغيل كل ما يتم تحديد كتل البرنامج النصي للظروف التي يطابقها الكائن.يمكنك أيضا، اختياريا، تحديد كتلة افتراضية والتي سيتم تشغيلها فقط إذا لم يتم مطابقة أي شروط أخرى.تستخدم عبارات التبديل أيضا المتغير $ _ للإشارة إلى العنصر الحالي الذي تتم معالجته.
  • بينما تسمح بيانات باستمرار تكرار كتلة البرنامج النصي طالما يتم استيفاء شرط معين.بمجرد حدوث شيء ما يؤدي إلى حالة لم يعد صحيحا عند الانتهاء من كتلة البرنامج النصي، ومخارج حلقة.
  • محاولة. .. التقاط بيانات مساعدة في التعامل مع الأخطاء.إذا حدث أي شيء خاطئ مع كتلة البرنامج النصي المحدد لمحاولة تشغيل كتلة المصيد.
  • الحصول على المحتوى يفعل ما يقول على القصدير.فإنه يحصل على محتويات كائن محدد - عادة ملف.يمكن استخدام هذا لعرض محتويات ملف نصي في وحدة التحكم أو، كما هو الحال في هذا البرنامج النصي، تمرير محتويات على طول خط أنابيب لاستخدامها مع الأوامر الأخرى.
  • يكتب المضيف الاشياء في وحدة التحكم.يتم استخدام هذا لعرض الرسائل إلى المستخدم، ولا يتم تضمينها في الإخراج البرنامج النصي إذا تم إخراج إخراج.
  • إخراج إخراج يولد في الواقع الإخراج.عادة، يتم إلقاء هذا إلى وحدة التحكم ولكن يمكن أيضا إعادة توجيه بواسطة أوامر أخرى.

هناك أوامر أخرى في البرنامج النصي، ولكننا سوف نوضح تلك ونحن نذهب.

بناء البرنامج النصي

الآن حان الوقت للحصول على أيدينا القذرة.

الجزء 1: الحصول على استعداد للذهاب

إذا كنت ترغب في البرنامج النصي لبدء تشغيل من وحدة تحكم نظيفة، وهنا السطر الأول الذي تريد فيه.

كلير-هوست

الآن لدينا شاشة نظيفة، والشيء التالي الذي نريد القيام به هو التحقق من البرنامج النصي للتأكد من كل ما يحتاجه في مكانه.وللقيام بذلك، علينا أن نبدأ بقولها أين ننظر، وماذا نبحث عنه.

$ سكريبتفولدر = سبليت-باث $ MyInvocation. MyCommand. Definition -Parent $ ريكيردفيلز =( 'Males.txt'، 'Females.txt'، 'Surnames.txt')

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

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

$ ريكيرفيلز |فوريتش-أوبجيكت{ إف( !( تيست-باث "$ سكريبتفولدر \ $ _")){ ورايت-هوست "$ _ نوت فوند."-ForegroundColor ريد $ ميسينغفيلز ++}}

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

شيء آخر أن نلاحظ هنا، والتي سيتم استخدامها في كثير من الأحيان في هذا السيناريو، هو استخدام المزدوج يقتبس بدلا من يقتبس واحد.عند وضع شيء في علامات اقتباس واحدة، يعامل بويرشيل كسلسلة ثابتة.ومهما كان في يقتبس واحد سيتم تمرير على طول بالضبط كما هو.ونقلت المزدوجة بويرشيل لترجمة المتغيرات وبعض البنود الخاصة الأخرى داخل السلسلة قبل تمريرها على طول.هنا، يعني الاقتباس المزدوج أنه بدلا من تشغيل اختبار المسار '$ سكريبتولدر \ $ _' سنفعل في الواقع شيئا أشبه اختبار مسار 'C: \ سكريبتس \ Surnames.txt' ( على افتراض الخاص بكالبرنامج النصي في C: \ سكريبتس، ويعمل فوريتش-أوبجيكت حاليا على 'Surnames.txt').

لكل ملف غير موجود، سيقوم ورايت-هوست بنشر رسالة خطأ باللون الأحمر ليقول لك الملف المفقود.ثم يزداد المتغير ميسينغفيلز $ التي سيتم استخدامها في قطعة المقبل، إلى الخطأ وإنهاء إذا كان هناك أي ملفات في عداد المفقودين.

إذا كان( $ ميسينغفيلز){ ورايت-هوست "تعذر العثور على $ ملف ميسينغفيلز المصدر( s) إبطال النص البرمجي."-ForegroundColor الأحمر إزالة متغير سكريبتفولدر، ريكيردفيلز، ميسينغفيلز إنهاء}

هنا خدعة أنيق آخر يمكنك القيام به مع إذا كانت العبارات.معظم الأدلة سترى ما إذا كانت البيانات سوف اقول لكم لاستخدام عامل التشغيل للتحقق من حالة مطابقة.على سبيل المثال، هنا يمكننا استخدام إذا( $ ميسينغفيلز -gt 0) لمعرفة ما إذا كان $ ميسينغفيلز أكبر من الصفر.ومع ذلك، إذا كنت تستخدم بالفعل الأوامر التي تعيد قيمة منطقية( كما في الكتلة السابقة حيث كنا نستخدم مسار الاختبار)، فهذا ليس ضروريا.يمكنك أيضا أن تفعل دون ذلك في مثل هذه الحالات، عندما كنت مجرد اختبار لمعرفة ما إذا كان عدد غير صفر.ويعامل أي عدد غير صفري( إيجابي أو سلبي) على أنه صحيح، في حين أن الصفر( أو، كما يحدث هنا، متغير غير موجود) سيعتبر كاذبا.

إذا كان $ ميسينغفيلز موجودا، وغير صفر، سيقوم ورايت-هوست بنشر رسالة تخبرك بعدد الملفات المفقودة وأن البرنامج النصي سيجهض.ثم، إزالة المتغير سوف تنظيف جميع المتغيرات التي قمنا بإنشائها وسوف إنهاء إنهاء البرنامج النصي.في وحدة التحكم بويرشيل العادية، لا حاجة حقا لإزالة المتغير لهذا الغرض بالذات لأن المتغيرات التي تحددها البرامج النصية عادة ما يتم تجاهلها عند خروج البرنامج النصي.ومع ذلك، فإن بويرشيل أيس يتصرف قليلا بشكل مختلف لذلك قد ترغب في الحفاظ على هذا في إذا كنت تخطط لتشغيل البرنامج النصي من هناك.

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

نيو-إلياس g جيت-راندم

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

الحصول على عشوائي كثيرا يفعل ما يوحي اسمها.وبالنظر إلى صفيف( مثل قائمة الأسماء) كمدخلات، فإنه يختار عنصر عشوائي من الصفيف ويبصق بها.ويمكن أيضا أن تستخدم لتوليد أرقام عشوائية.الشيء أن نتذكر حول الحصول على عشوائية والأرقام على الرغم من أنه، مثل العديد من عمليات الكمبيوتر الأخرى، ويبدأ العد من الصفر.لذلك بدلا من الحصول على عشوائي 10 يعني أكثر طبيعية "أعطني رقم 1-10" يعني حقا "أعطني عدد 0-9". يمكنك أن تكون أكثر تحديدا حول اختيار عدد، بحيث الحصول علىتتصرف -Random أكثر مثل كنت نتوقع بطبيعة الحال، ولكن نحن لن نحتاج ذلك في هذا السيناريو.

الجزء 2: الحصول على إدخال المستخدم والحصول على العمل

في حين أن البرنامج النصي الذي يولد اسم عشوائي واحد فقط & أمب؛رقم الهاتف هو عظيم، فمن الأفضل بكثير إذا كان البرنامج النصي يسمح للمستخدم لتحديد عدد الأسماء & أمب؛الأرقام التي تريد الحصول على دفعة واحدة.لسوء الحظ، لا يمكننا الوثوق حقا للمستخدمين دائما إعطاء مدخلات صالحة.لذلك، هناك قليلا أكثر قليلا لهذا من مجرد $ وسيرينبوت = قراءة المضيف .

بينما( $ فاليدينبوت){ تري{ [إنت] $ وسيرينبوت = ريد-هوست -Prompt 'العناصر التي سيتم إنشاؤها $ فاليدينبوت = $ ترو} كاتش{ ورايت-هوست' إدخال غير صالح.أدخل رقما فقط. "-ForegroundColor ريد}}

في حين أن البيان أعلاه يتحقق، وينفي قيمة فاليدينبوت $.طالما أن فاليدينبوت فالس، أو غير موجود، فإنه سيتم إبقاء حلقات من خلال كتلة البرنامج النصي الخاص به.

يأخذ بيان التجربة إدخال المستخدم، عبر ريد-هوست، ويحاول تحويله إلى قيمة عدد صحيح.(هذا هو [إنت] قبل قراءة المضيف.) إذا كان ناجحا، فإنه سيتم تعيين $ فاليدينبوت إلى ترو بحيث الحلقة في حين يمكن الخروج.إذا لم يكن ناجحا، كتلة الصيد المشاركات خطأ، لأن $ فاليدينبوت لم تحصل على تعيين، في حين حلقة سوف يعود مرة أخرى، ودفع المستخدم مرة أخرى.

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

كتابة المضيف "` نينيراتينغ $ وسيرينبوت أسماء وأرقام الهواتف يرجى أن يكون المريض "ن" 1. . $ وسيرينبوت |فوريتش-أوبجيكت{ & لوت؛ # إنزيرت راندم نيم & أمب؛نومبر جينيراتور هير # & غ؛}

لا تقلق، نحن لن نترك لك لوحدك لمعرفة اسم عشوائي & أمب؛رمز مولد.هذا مجرد تعليق نائب لتظهر لك حيث القسم التالي( حيث يتم إنجاز العمل الحقيقي) سوف يصلح.

خط الكتابة مضيف بسيط جدا.ببساطة يقول عدد الأسماء وأرقام الهواتف السيناريو سوف تولد، ويطلب من المستخدم التحلي بالصبر في حين أن السيناريو يقوم بعمله.و `n في بداية ونهاية السلسلة هو إدراج سطر فارغ قبل وبعد ذلك الإخراج، فقط لإعطائه بعض الفصل البصرية بين خط الإدخال وقائمة الأسماء & أمب؛أعداد.كن على علم بأن هذا هو القراد الخلفي( أكا "لهجة خطيرة" - عادة مفتاح علامة التبويب أعلاه، إلى يسار 1) وليس الفاصلة العليا أو اقتباس واحد أمام كل ن .

يعرض الجزء التالي طريقة مختلفة يمكنك استخدام حلقة فوريتش-أوبجيكت.عادة، عندما تريد كتلة نص برمجي لتشغيل عدد معين من المرات، ستعمل على إعداد حلقة منتظمة مثل ل( $ x = 1؛ $ x -le $ وسيرينبوت؛ $ x ++){ & لوت؛ # إنزيرت سكريبتهنا # & غ؛}. فوريتش-أوبجيكت يتيح لنا تبسيط هذا عن طريق تغذية قائمة من الأعداد الصحيحة، وبدلا من إخبارها فعل أي شيء مع تلك الأعداد الصحيحة، ونحن مجرد إعطائها كتلة البرنامج النصي ثابت لتشغيل حتى نفاد الأعداد الصحيحة للقيام بذلك.

الجزء 3: توليد اسم عشوائي

توليد الاسم هو أبسط قليلا من بقية هذه العملية.وهو يتألف فقط من ثلاث خطوات: اختيار اللقب، واختيار جنس، واختيار الاسم الأول.تذكر أن الاسم المستعار الذي قدمناه للحصول على عشوائي عشوائي الظهر؟الوقت للبدء في وضع ذلك للاستخدام.

$ سورنام = جيت-كونتنت "$ سكريبتفولدر \ Surnames.txt" |g $ ميل = g 2 إف( $ ميل){ $ فيرستنام = جيت-كونتنت "$ سكريبتولدر \ Males.txt" |g} إلس{ $ فيرستنام = جيت-كونتنت "$ سكريبتولدر \ Females.txt" |g}

السطر الأول يأخذ قائمتنا من الألقاب، ويغذيها في منتقي عشوائي، ويعين الاسم المختار إلى $ سورنام.

السطر الثاني يختار جنس الشخص.تذكر كيف يبدأ الحصول على عشوائية العد من الصفر، وكيف الصفر هو خطأ وكل شيء آخر صحيح؟هذه هي الطريقة التي نستخدمها الحصول على عشوائي 2 ( أو أقصر بكثير ز 2 بفضل الاسم المستعار لدينا - كلاهما يؤدي إلى الاختيار بين الصفر أو واحد) لتقرير ما إذا كان شخصنا هو ذكر أم لا.ثم يختار بيان إف / إلس عشوائيا اسم أول ذكر أو أنثى وفقا لذلك.

الجزء 4: توليد رقم هاتف عشوائي

فيما يلي الجزء الممتع حقا.في وقت سابق، أظهرنا لك كيف هناك عدة طرق يمكنك جعل رقم هاتف غير صالح أو وهمية.وبما أننا لا نريد أن تكون جميع أرقامنا متشابهة إلى حد ما مع بعضها البعض، فسنختار بشكل عشوائي تنسيق رقم غير صالح في كل مرة.سيتم تعريف الأشكال التي تم اختيارها عشوائيا من خلال رمز المنطقة ورمز التبادل، والتي سيتم تخزينها بشكل جماعي كبادئة $.

$ نومبرفورمات = g 5 سويتش( $ نومبرفورمات){ 0{ $ بريفيكس = "($( g 2) $( g 10) $( g 10)) $( g 10) $( g 10) $( g 10)"}{ $ بريفيكس ="( $( g 10) 9 $( g 10)) $( g 10) $( g 10) $( g 10) "} 2{ $ بريفيكس ="( $( g 10)$( g 10) $( g 10) $( g 2) $( g 10) $( g 10) "} 3{ $ بريفيكس ="( $( g 10) $( g 10) $( g 10)) $( g 10) 11 "} 4{ $ بريفيكس ="( $( g 10) $( g 10) $( g 10)) 555 "}}

السطر الأول عبارة عن جيل عشوائي عشوائي لتختار الشكلونحن في طريقنا لمتابعة رقم الهاتف.ثم، يأخذ بيان التبديل هذا الاختيار العشوائي ويولد بادئة $ وفقا لذلك.هل تريد تذكر قائمة أنواع أرقام الهواتف غير الصالحة؟تتطابق قيم $ نومبرفورمات 0-3 مع الأربعة الأولى في تلك القائمة.القيمة 4 يمكن أن تولد واحدة من آخر اثنين، لأن كلا استخدام "555" رمز إكسهانج.

هنا، يمكنك أن ترى أيضا أننا نستخدم خدعة أخرى مع علامات اقتباس مزدوجة.علامات الاقتباس المزدوجة لا تسمح لك فقط بتفسير المتغيرات قبل الحصول على سلسلة الانتاج - كما أنها تتيح لك معالجة كتل النصي.للقيام بذلك، يمكنك التفاف كتلة البرنامج النصي مثل: "$( & لوت؛ #SCRIPT هير # & غ؛)" .لذلك ما لديك أعلاه هو الكثير من الأرقام العشوائية بشكل فردي، مع بعض منهم إما محدودة في نطاقها أو مجموعة ثابتة وفقا للقواعد نحتاج إلى متابعة.تحتوي كل سلسلة أيضا على أقواس وتباعد كما كنت تتوقع عادة أن ترى في رمز المنطقة ورمز إكسهانج رمز.

آخر شيء نحتاج إلى القيام به قبل أن نكون مستعدين لإخراج اسمنا & أمب؛رقم الهاتف هو توليد معرف المشترك، والتي سيتم تخزينها كما لاحقة $.

( $ نومبرفورمات){ {$ _ -lt 4}{ $ سوفيكس = "$( g 10) $( g 10) $( g 10) $( g 10)"} 4{ سويتش( $ بريفيكس){ '(800) 555 '{$ سوفيكس =' 0199 '} ديفولت{ $ سوفيكس = "01 $( g 10) $( g 10)"}}}}

نظرا للقواعد الخاصة لأرقام 555،توليد أربعة أرقام عشوائية لنهاية كل رقم الهاتف السيناريو لدينا هو الذهاب الى جعل.لذا، فإن المفتاح الأول يتحقق لمعرفة ما إذا كنا نتعامل مع عدد 555.إن لم يكن، فإنه يولد أربعة أرقام عشوائية.إذا كان رقم 555، والتحول الثاني يتحقق رمز المنطقة 800.إذا كان هذا يطابق، هناك واحد فقط صالحة لاحقة $ يمكننا استخدامها.وإلا، فإنه يسمح لاختيار من أي شيء بين 0100-0199.

لاحظ أن هناك عدة طرق مختلفة يمكن أن تكون هذه الكتلة قد كتبت، بدلا من الطريقة التي هي عليه.يمكن استبدال كل من عبارات التبديل بعبارات إف / إلس، حيث إن كل منهما يستخدم خيارين فقط.أيضا، بدلا من استدعاء على وجه التحديد "4" كخيار لبيان التبديل الأول، "الافتراضي" يمكن أن تستخدم على غرار كيف تم ذلك في الثانية لأنه كان الخيار الوحيد اليسار.الاختيار بين إف / إلس مقابل التبديل، أو مكان استخدام الكلمة الرئيسية الافتراضية بدلا من القيم المحددة، غالبا ما يأتي إلى مسألة تفضيل شخصي.طالما أنه يعمل، واستخدام كل ما كنت أكثر راحة مع.

الآن، حان الوقت للإخراج.

كتابة المخرجات "$ الاسم الأول $ اسم العائلة $ prefix- $ لاحقة"}

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

أن قوس الإغلاق في الجزء السفلي هو نهاية حلقة فوريتش-أوبجيكت من وقت سابق - حذف هذا إذا كنت قد حصلت عليه بالفعل.

الجزء 5: تنظيف وتشغيل النص البرمجي

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

إزالة العنصر المستعار: \ g ريموف-فاريابل سكريبتفولدر، ريكيردفيلز، سورنام، ميل، فيرستنام، نومبرفورمات، بادئة، لاحقة، فاليدينبوت، وسيرينبوت

بعد الانتهاء من كل ذلك، حفظ البرنامج النصي مع ملحق ".ps1"في نفس المجلد مثل ملفات الأسماء الخاصة بك.تأكد من تعيين إيكسكوتيونبوليسي بحيث يمكن تشغيل البرنامج النصي، وإعطائها دوامة.

فيما يلي لقطة شاشة للبرنامج النصي:

يمكنك أيضا تنزيل ملف زيب يحتوي على هذا البرنامج النصي بويرشيل، والملفات النصية مع قوائم الأسماء، من الرابط أدناه.

اسم عشوائي & أمب؛رقم الهاتف مولد ل بويرشيل