• وبلاگ : پاي سيب
  • يادداشت : Cellular automaton
  • نظرات : 0 خصوصي ، 82 عمومي

  • نام:
    ايميل:
    سايت:
       
    متن پيام :
    حداکثر 2000 حرف
    كد امنيتي:
      
      
     <      1   2   3   4   5    >>    >
     
    + ... 
    + ... 

    سلام خدمت تمام دانشجويان و دانش پژوهان عزيز.

    اين بار هم با مجموعه اي بي نظير از مقالات کامپيوتري در زمينه هاي مختلف تجارت الکترونيک، IT، بازشناسي(تشخيص) گفتار، شبکه هاي عصبي، رباتيک، مهندسي نرم افزار و کلوني مورچگان شما را شگفت زده مي کنم. اميدوارم بتوانيد از آنها استفاده نمائيد و براي ترويج علم ميان ايرانيان از هر گونه تلاشي دريغ نفرمائيد.

    کليه مقالات زير در دسترس و قابل دانلود هستند که عبارتند از:

    ---------------------------------------------------------------

    بازشناسي (تشخيص) گفتار

    تحقيقات خودم در مورد بازشناسي گفتار

    مدل مخفي مارکوف و مدلهاي زباني N-gram

    استخراج و مدلسازي واحدهاي آوايي وابسته به بافت براي بهبود دقت بازشناسي گفتار پيوسته با روش دسته بندي واجها

    ارائه يک مدل قطعه بندي نرم براي مدلسازي کشش زماني در سيستمهاي بازشناسي واج

    ارائه روش TSD-PGMM در بازشناسي گوينده مستقل از متن

    ارائه روش آماري FPD-GMM در بازشناسي گفتار

    گزارش نهايي طرح ملي پردازش ملي زبان فارسي-شامل بازشناسي گفتار گسسته و پيوسته فارسي، سنتز گفتار فارسي، تصديق هويت گوينده

    مقاله اي عملي در مورد تشخيص گفتار

    مدلسازي آماري زبان فارسي

    Automatic Speech Recognition And Synthesis(انگليسي)

    + ... 

    مقاله درباره سيستم هاي خبره که يکي از مباحث هوش مصنوعي است.

    هوش مصنوعي:

    هوش مصنوعي روشي است در جهت هوشمند کردن کامپيوتر تا قادر باشد در هر لحظه تصميم گيري کرده و اقدام به بررسي يک مسئله نمايد. هوش مصنوعي، کامپيوتر را قادر به تفکر مي کند و روش آموختن انسان را تقليد مي نمايد. بنابراين اقدام به جذب اطلاعات جديد جهت بکارگيري مراحل بعدي مي پردازد.

    مغز انسان به بخش هايي تقسيم شده است که هر بخش وظيفه خاص خود را جدا از بقيه انجام مي دهد. اختلال در کار يک بخش تاثيري در ديگر قسمت هاي مغز نخواهد گذاشت. در برنامه هاي هوش مصنوعي نيز اين مسئله رعايت مي شود درحالي که در برنامه هاي غير هوش مصنوعي مثل C يا Pascal تغيير در برنامه روي ساير قسمت هاي برنامه و اطلاعات تاثير دارد.

    مباحث کاربردي و مهم در تحقق يک سيستم هوش مصنوعي :

    1- Expert Systems

    2- Neural Network

    3- Genetic Algorithms

    4- Fuzzy Logic Systems

    اصل مقاله درباره سيستمهاي خبره را مي توانيد از آدرس زير دانلود کنيد

    http://www.geocities.com/m_saffari2003/Expert.doc

    + ... 

    زبانهاي برنامه‌نويسي هوش مصنوعي(AI) ابزار اصلي بررسي و ساخت برنامه‌هاي كامپيوتري هستند كه مي‌توانند در شبيه‌سازي فرايندهاي هوشمند مانند يادگيري،‌ استدلال و فهم اطلاعات نمادين بكار بروند. هر چند اخيراً زبان كامپيوتر اصولاً براي استفاده از كامپيوترها براي انجام محاسبات با اعداد طراحي شده بود، اما بزودي دريافتند كه رشته‌اي از بيتها نه تنها اعداد بلكه مي‌توانند اشياي دلخواه را نيز نمايش دهند. عمليات روي ويژه‌گي‌ها يا نمادها مي‌تواند با استفاده از قوانين براي ايجاد، انتساب يا دستكاري نشان داده شود. اين تصور از محاسبات نمادين بعنوان تعريف الگوريتمهايي كه هر نوع اطلاعات را پردازش مي‌كنند و بنابراين مي‌تواند براي شبيه‌سازي هوش انسان بكار برود مناسب است.
    بزودي برنامه نويسي با نمادها كه نياز به سطح بالايي از چكيدگي دارند توليد مي‌شوند، غير از امكاناتي كه با زبانهاي برنامه نويسي مخصوص پردازش اعداد ممكن بود مانند فرترن

    I-زبانهاي برنامه نويسي AIدر AI خودكار كردن يا برنامه‌نويسي همه جنبه‌هاي شناخت انساني بوسيله بنيادهاي شناخت علمي روشهاي نمادين و غير نمادين AI، پردازش زبان طبيعي، ديد كامپيوتري و سيستمهاي تكامل يا سازگار مطرح مي‌شود. لازم است دامنه مسئله‌هاي خيلي پيچيده در ابتداي مرحله برنامه‌نويسي يك مسئله AI معين، مشخص شود كه كافي نيست. تنها بوسيله تعامل و افزايش اصلاحات خصوصيات بسيار دقيق ممكن است. در حقيقت مسئله‌هاي معمول AI به بسياري از زمينه‌هاي خاص گرايش دارند، بنابراين روشهاي ذهني بايد بوسيله توليد و آزمايش روشها بطور تجربي توسعه يابند(مشهور به نمونه سازي سريع). در اينصورت برنامه‌نويسي AI بطور قابل توجهي با روشهاي استاندارد مهندسي نرم‌افزار متفاوت بوده زيرا برنامه‌نويسي معمولا از يك مشخصات رسمي با جزئيات شروع مي‌شود. در برنامه‌نويسي AI پياده‌سازي در واقع جزئي از پردازش مشخصات مسئله است. به اقتضاي طبيعت مسئله‌هاي AI برنامه‌نويسي AI مزاياي بسياري دارد اگر زبانهاي برنامه نويسي، برنامه‌نويسAI را آزاد بگذارند و در بسياري از ساختارهاي فني محدود نكنند (مانند ساختار انواع داده‌اي جديد سطح پايين، دستيابي دستي به حافظه). ترجيحاً سبك برنامه‌نويسي اعلاني براي استفاده در ساختارهاي پيش‌ساخته داده‌اي سطح بالا(مانند ليستها و درختها) و عمليات(مانند تطبيق الگوها) مناسب است، بنابراين محاسبات نمادين سطح خلاصه‌سازي بيشتري نسبت به آنچه كه با زبانهاي دستوري استاندارد مانند فرترن، پاسكال يا C امكان‌پذير خواهد بود را پشتيباني مي‌كند. البته طبقه‌بندي خلاصه سازي آسان نيست،‌ زيرا تدوين برنامه‌هاي AI روي كامپيوترهاي استاندارد وان نيومن نمي‌تواند به كارآمدي زبانهاي دستوري باشد. هر چند يك مسئله مسلم AI فهم آن است (حداقل جزئيات) امكان دارد با تنظيم مجدد آن به شكل خصوصيات جزئي شده با بكار بردن يك زبان دستوري پياده‌ سازي مجدد شود. با توجه به نيازمنديهاي محاسبات نمادين و برنامه‌نويسي AI دو الگوي جديد برنامه‌نويسي كه به سبك دستوري پيشنهاد مي‌شوند بوجود مي‌‌آيد: سبك برنامه‌نويسي تابعي و منطقي. هر دو بر مبناي رياضيات طرح‌ريزي شده‌اند، يعني نظريه توابع بازگشتي و منطق رسمي. اولين زبان برنامه‌نويسي AI كاربردي كه هنوز هم بطور گسترده استفاده مي‌شود زبان برنامه‌نويسي Lisp است كه در اواخر دهه 1950 توسط جان مك كارتي توسعه يافته است. Lisp برمبناي نظريه توابع رياضي و خلاصه‌سازي Lambda است. تعدادي از كاربردهاي مهم و موثرAI در Lisp نوشته شده است. كه ما بعضي از جزئيات اين زبان برنامه‌نويسي را در اين مقاله شرح خواهيم داد. در اوايل دهه 1970 يك الگوي برنامه‌نويسي جديد بنام برنامه‌نويسي منطقي بر اساس محاسبات گزاره‌اي بوجود آمد. اولين و مهمترين زبان برنامه‌نويسي منطقي Prolog است كه توسط آلن كالمرار، رابرت كوالسكي و فيليپ راسل توسعه يافته است. مسئله‌ها در prolog بصورت حقايق، بديهيات و قوانين منطقي براي استنباط حقايق جديد بيان مي‌شوند. Prolog با قانون رياضي در محاسبات گزاره‌اي و نتايج نظري بدست آمده در زمينه اثبات قضيه خودكار در اواخر دهه 1960 بنا نهاده شده است.

    + ... 
    کتابي با بيش از ??? صفحه به زبان فارسي که براي علاقه مندان به اين زمينه در سايت PersianArticles.com قرار داده شده

    آدرس دانلود :

    http://www.persianarticles.com/view_article.asp?AN=177

    + شبكه 
    با آمدن رايانه هاي جديد افراد بسياري تمايل به خريد آنها پيدا مي کنند پس از خريد يک رايانه جديد و سريعتر مدل قديمي رايانه در گوشه اي انداخته ميشود .بعضي از اشخاص از رايانه هاي لپ تاپ استفاده مي کنند و مي خواهند آن را با رايانه شخصي شبکه کنند .وصل کردن دو رايانه به هم از ساده ترين مباحث شبکه به حساب مي آيد .پس از ساخت شبکه علاوه بر امکان انتقال اطلاعات از اين طريق شما مي توانيد از يک امکان لذت بخش ديگر نيز استفاده کنيد . با شبکه شدن دو رايانه شما مي توانيد بازيهاي مختلفي را تحت شبکه خانگي خودتان بازي کنيد و از آن لذت ببريد .براي شبکه کردن دو رايانه شما احتياج به سخت افزار شبکه روي هر دو سيستم و به مقدار لازم کابل شبکه داريد.بساري از مادربورد هاي جديد خودشان داراي پورت شبکه هستند .اما اگر مادربورد شما داراي سخت افزار شبکه نيست بايد کارت شبکه را براي هر دو سيستم تهيه کنيد انواع معمولي کارت هاي شبکه قيمت هاي بسيار مناسبي دارند و ... در تمام فروشگاهها نيز پيدا مي شوند .به جز کارت شبکه شما بايد به اندازه فاصله دو رايانه کابل شبکه خريداري کنيد در موقع خريد اري کابل شبکه بايد حتما به فروشنده گوشزد کنيد که کابل را براي اتصال تنها دو رايانه مي خواهيد. اين مساله باعث مي شود که فروشنده براي نصب فيشهاي دو سر کابل رشته هاي آن را به نحو خاصي که مخصوص اتصال دو رايانه است دو رايانه است مرتب کند . حتما مي دانيد براي شبکه کردن بيش از دو رايانه احتياج به سخت افزارهاي ديگري مثل سيستم ارتباط مرکزي يا هاب HUB نياز مي باشد .نحوه چيده شدن رشته هاي کابل شبکه براي اتصال به HUB و شبکه کردن بيش از دو رايانه متفاوت مي باشد. پس از خريد اين وسايل حالا بايد شما کارتهاي شبکه را روي سيستم ها نصب کنيد اين کارتها معمولا با استفاده از درايورهاي خودشان به راحتي نصب مي شوند بعد از نصب کارت هاي شبکه در قسمت Network Connections ويندوز شما گزينه اي با عنوان Local Area Connections اضافه مي شود حالا کابل را به کارت هاي شبکه دو رايانه وصل کنيد و هر دو رايانه را تحت ويندوز XP روشن نماييد .در اين مرحله براي درست کردن شبکه روي گزينه MY Computer هر دو رايانه کليک راست کرده و گزينه Properties را انتخاب نماييد. حالا به قسمت Computer Name برويد هر دو رايانه بايد داراي Workgroup يکساني باشند .براي يکسان کردن آنها روي گزينه Change کليک کرده و سپس اسمي را براي Workgroup هر دو رايانه وارد نماييد.حتما دقت نماييد که Computer Name هاي هر دو رايانه بايد متفاوت باشد . حالا روي هر دو رايانه به قسمت Network Connections برويد و روي Local Area Connections کليک کنيد و Properties را انتخاب کنيد و در پنجره باز شده دنبال خطي با عنوان Protocol TCP/internet بگرديد اين خط را انتخاب نموده و روي گزينه Properties کليک نماييد معمولاگزينه Obtain Automatically an ip Address به عنوان پيش فرض انتخاب شده است .شما گزينه Use The Following ip Address را انتخاب کنيد ، در قسمت ip Address يکي از رايانه IP را 192.168.0.1 و در رايانه ديگر 192.168.0.2 وارد نموده ، در قسمت Subnet Mask هر دو رايانه اين مقدار را وارد نماييد : 255.255.255.0 حالا ديگر کار شبکه شدن رايانه ها تمام شده است هر دو رايانه را براي اطمينان مجددا راه اندازي کنيد . به ياد داشته باشيد که درايو ها و پوشه هايي را که مي خواهيد در هر رايانه روي شبکه قرار بگيرد را بايد Share کنيد براي اين کار : روي درايو ها و پوشه ها کليک راست کرده و گزينه Properties را انتخاب کنيد در قسمت Sharing اين پنجره شما بايد گزينه share this folder را انتخاب کنيد .
    + لينوكس 
    با توجه به اهميت نرم افزارهاي كاربردي در يك كامپيوتر با آن در ارتباط تنگاتنگ باشند، در اين مجال ابتدا به طورمختصر دو سيستم عامل ويندوز و لينوكس را معرفي كرده و سپس به بررسي مزاياي استفاده از سيستم عامل لينوكس به جاي ويندوزدر ايران مي پردازيم.

    معرفي كوتاه سيستم عامل ويندوز
    سيستم عامل هاي خانواده ويندوز ( ...2000,Windows98,Windows NT,Windows, WindowsXP) محصول شركت ميكروسافت آمريكا هستند كه درحال حاضر بخش اعظم بازار جهاني را در مصرف خانگي و نيز در سيستم هاي سرويس دهنده شبكه هاي كامپيوتري به خود اختصاص داده اند. قيمت يك نسخه از سيستم عامل Windows XPدر حدود 290 دلار است. طبعا با توجه به تجاري بودن اين محصولات ، source code يا منبع كد نرم افزار ، فقط در اختيار شركت ميكروسافت است.

    آشنايي كوتاه با سيستم عامل لينوكس
    سيستم عامل لينوكس يك متولي واحد ندارد بلكه توسط جامعه اي از متخصصان داوطلب در سراسر جهان نوشته مي شود كه موسسات بين الملليوغيرتجاري معتقد به نرم افزار آزاد ، آن را هماهنگ مي كنند.لينوكس open source بوده( منبع كد آن براي هر جاي دنيا قابل دسترسي است ) واستفاده از آن از نظر قانوني مجاني است. بر خلاف پيش بيني هاي اوليه برخي افراد ، مبني بر اين كه يك نرم افزار مجاني نمي تواند از نظر كيفيت با نرم افزاري كه بابت آن پول دريافت مي شود رقابت كند چنين نشد ومرور زمان عكس اين موضوع را ثابت كرد.

    برتري فني سيستم عامل لينوكس برويندوز
    مقاله تحقيقي مستدل وكامل جان لابلانك كه در اينترنت قابل دسترسي است /ca.ab.cuug.web//:http) -to -nt /~lelancj(html.unix به همين موضوع پرداخته است. به طور خاص، فصل security مقاله مذكور كه به برتري كيفيت لينوكس از نظر امنيت اختصاص دارد ، از اهميت بسياري برخوردار است. همچنين در فصل پاياني مقاله ، حتي به ليست مهم ترين شبكه هاي شركت ميكروسافت اشاره شده كه بر روي آنها به جاي ويندوز از لينوكس استفاده مي شود.

    چرا هنوز ويندوز بيشتر به كار مي رود
    جان كرچ در مقاله تحقيقي خود (/http://kirch.net/unix-nt)اشاره كرده است:"اينكه چرا ويندوز در بازار حرفه اي ] شبكه[ هنوز خريدار دارد،موضوعي است كه به درد يك مقاله تحقيقي در رشته روانشناسي يا رشته بازاريابي مي خورد ، نه مقاله اي در زمينه فناوري اطلاعات. از نظر فني، ويندوز قادر به رقابت با سيستم هاي عامل خانواده يونيكس نيست ". گفتني است كه كرچ ، كارشناس تاييد شده ميكروسافت Microsoft Certified professional است شركت ميكروسافت با در آمد چند ده ميليارد دلاري در سال ، صاحب انحصاري تبليغاتي در خصوص سيستم هاي عامل كامپيوتري در جهان است.

    ابعاد ديگر مساله اننتخاب سيستم عامل
    استفاده گسترده از سيستم عامل ويندوز در شبكه هاي كامپيوتري و مديريتي سازمانها و ادارات كشور ، غير از بعد فني آن ك به كيفيت كار سيستم ها مربوط مي شود ، ابعاد ديگري را نيز در بر دارد كه در زير به آنها اشاره شده است :
    از نظر سياسي - امنيتي ، اتكا سيستم انفورما تيك كشور به محصول closed-source يك شركت آمريكايي قطعا نمي تواند مطلوب باشد . آيا با توجه به -closed-source بودن نرم افزارهاي ميكروسافت ، كسي مي تواند ادعا كند كه اين سيستم عامل back door براي نفوذ افراد خاص ندارد ، يا به صورت اتوماتيك اقدام به جمع آوري اطلاعات از كامپيوتر وارسال آن به نقطه اي خاص نمي كند ؟مساله اين نيست كه آيا واقعا در حال حاضر چنين قابليت هاي مخفي در ويندوز وجود دارد يا خير ، بلكه مساله در اين است كه با توجه به بسته بودن ويندوز ، امكان وجود چنين قابليت هاي نا خوانده اي را هرگز نمي توان رد كرد و اگرچنين قابليت ها يي در نسخه هاي فعلي و آتي ويندوز وجود داشته با شند حتي توسط مجرب ترين كارشناسان فني به راحتي قابل كشف نيستند.

    علاوه بر اينها از نظر فني با توجه به ضعف هاي امنيتي ذاتي سيستم هاي ويندوز كه مقاله جان لابلانك(كه بيش تر به آنها اشاره شد) به خوبي به آنها پرداخته است،رواج استفاده از چنين سيستمي به طور عمومي به ناامن شدن شبكه هاي كامپيوتري كشور كمك مي كند و امكان قرار گرفتن آنها در معرض حملات الكتريكي (hack شدن) را افزايش مي دهد .
    از نظر اقتصادي ويندوز نرم افزاري گران قيمت است در حالي كه لينوكس مجاني است. هر چند در حال حاضر در ايران اين مساله مشكلي ايجاد نمي كند ، زيرا به هر حال از نرم افزارهاي خارجي همه ، حتي سازمان ها و ادارات دولتي كپي برداري مي كنند. اما ، چنانچه ايران در آينده بخواهدبه سازمان تجارت جهاني بپيوندد يا به هر دليل تصميم به رعايت حقوق نرم افزارهاي خارجي بگيرد ، اين مساله كاملا جدي خواهد شد.فقط در سازمان هاي دولتي به ازاي هر نسخه ويندوز بايد مبلغ قابل توجهي پرداخت شود.

    از نظر علمي- فرهنگي open source بودن سيستم عامل به اين معني است كه نه تنها منبع كد براي كارشناسان قابل دسترسي است بلكه در جامعه open source كليه كارشناسان تشويق مي شوند كه براي تكميل و پيشبرد كار ، مشاركت كنند كه هم اكنون نيز در برخي از دانشگاه‌‌هاي كشور البته در سطح محدود چنين مشاركتي در جريان است .كارشناسان كشورفرصت مي يابند كه براي اولين باردريك سيستم عامل شناخته شده جهاني ، نقش توليد كننده را ايفا كنند ، البته اين مشاركت از نظر فرهنگي هم نتايج مثبتي را در بر دارد.
    در آخراين كه كشور چين از جمله كشورهايي است كه با جدي گرفتن ابعاد مساله انتخاب سيستم عامل ، اقدام به تا سيس نهاد مخصوصي براي ترويج سيستم عامل آزاد لينوكس در آن كشور كرده است . اين نهاد كه Redflag Linux software نام دارد با بودجه مخصوص دولتي ، تحت نظر "آكادمي علوم چين" دست به بومي سازي لينوكس ، ترويج وتبليغ آن و رفع موانع استفاده از آن در شبكه هاي انفورماتيك و مديريتي كشور، به خصوص در دستگاه هاي دولتي چين ، زده است.
    + DOS 
    + DOS 

    The World of DOS - Creating Batch Files

    Introduction(1)
    History(1)
    DOS/Win3.11/95/98 vs. NT/ME/XP/2000(1)
    Command Index(1)
    Navigating DOS(2)
    Tips and Tricks(2)
    Network/Harware Utilities(3)
    How to make and use bootable floppy disks(3)
    Batch Files(4)
    Creating Batch Files(4)
    Batch file utilities and commands(4)
    BREAK CALL CHOICE CLS ECHO EXIT FOR GOTO IF LASTDRIVE MSCDEX PAUSE REM SET

    The AUTOEXEC.BAT file(4) autoexec.nt config.sys
    Types of Batch and System Files(4)
    Parameters in batch files(4)
    Batch File Library(5)
    Subject Index(5)
    Helpful DOS Links(5)




    Batch Files

    What are batch files? Batch files are not programs, pre se, they are lists of command line instructions that are batched together in one file. For the most part, you could manually type in the lines of a batch file and get the same results, but batch files make this work easy. Batch files do not contain "compiled" code like C++ so they can be opened, copied and edited. They are usually used for simple routines and low-level machine instruction, but they can be very powerful. If you look in your C:\, C:\WINDOWS, or C:\WINNT folder you will see a multitude of .BAT, .SYS, .CFG, .INF and other types. These are all kinds of batch files. This may shock you, but while most applications are writen in Basic or C++ they sit on a mountain of batch files. Batch files are the backbone of the Windows operating system, delete them and you"ve effectively disabled the OS. There is a reason for this. The system batch files on each computer are unique the that computer and change each time a program is loaded. The operating system must have access to these files and be able to add and delete instructions from them.

    Creating Batch files

    Simple instructions

    1. Open a text editor like notepad(NOT word or wordpad)
    2. Type or copy this text:
      @ECHO OFF
      ECHO.
      ECHO This is a batch file
      ECHO.
      PAUSE
      CLS
      EXIT
    3. Save this as batchfile.bat, make sure there is no .txt extension after the .bat
    4. Double-click the file icon

    This is a little batch file I wrote that I use every day. It deletes the cookies that get dumped to my hard drive every time I go online. I could set my browser preferences not to accept cookies, but sometimes cookies are useful. Some CGI pages are unusable with cookies, sometimes when you enter a password for a Website, the site uses a cookie to remember your password. I just do not need hundreds of cookie files taking up space after I close my browser. With this batch file, all I have to do is double-click it and it deletes my cookies. Feel free to cut and paste this code to your Notepad or Wordpad. Save it as cookiekill.bat on your Desktop.


    cls
    REM *******************************************
    REM **Cookie Kill Program Will not work in NT**
    REM *******************************************

    deltree /y c:\windows\cookies\*.*
    deltree /y c:\windows\tempor~1\*.*
    pause
    cls
    REM Cookies deleted!


    + DOS 

    GOTO
    To go to a different section in a batch file. You may create different sections by preceding the name with a colon.

    :SUBSECTION

    Programmers may find this similar to funtions or sub-routines.

    @ECHO OFF
    :FIRSTSECTION
    ECHO This is the first section
    PAUSE
    GOTO SUBSECTION

    :SUBSECTION
    ECHO This is the subsection
    PAUSE



    Skip sections of a batch file

    @ECHO OFF
    :ONE
    ECHO This is ONE, we"ll skip TWO
    PAUSE
    GOTO THREE

    :TWO
    ECHO This is not printed

    :THREE
    ECHO We skipped TWO!
    PAUSE
    GOTO END
    :END
    CLS
    EXIT



    Looping with GOTO

    :BEGIN
    REM Endless loop, Help!!
    GOTO BEGIN

    Use with CHOICE




    IF, IF EXIST, IF NOT EXIST

    IF EXIST C:\tempfile.txt
    DEL C:\tempfile.txt
    IF NOT EXIST C:\tempfile.txt
    COPY C:\WINDOWS\tempfile.txt C:\tempfile.txt


    Use with "errorlevel"
    The generic paramater errorlevel refers to the output another program or command and is also used with the CHOICE structure. If you try and run a command in a batch file and produces an error, you can use errorlevel to accept the returned code and take some action. For example, let"s say you have a batch file that deletes some file.

    COPY C:\file.txt C:\file2.txt

    If "file.txt" doesn"t exist, you will get the error: COULD NOT FIND C:\FILE.TXT. Instead, use a structure like this to create the file, then copy it by accepting the error.

    @ECHO OFF
    :START
    COPY file.txt file2.txt
    IF errorlevel 1 GOTO MKFILE
    GOTO :END

    :MKFILE
    ECHO file text>file.txt
    GOTO START

    :END
    ECHO Quitting
    PAUSE

    an errorlevel of 1 means there was an error, errorlevel of 0 means there was no error. You can see these levels by adding this line after any line of commands:

    ECHO errorlevel: %errorlevel%

    Details.




    PAUSE
    Pauses until the user hits a key.

    This s the familiar "Press any key to continue..." message.




    REM
    Allows a remark to be inserted in the batch .

    REM DIR C:\WINDOWS Not run as a command
    DIR C:\WINDOWS Run as a command



    ECHO
    Setting ECHO "on" will the batch process to the screen, setting it to "off" will hide the batch process.

    @ECHO OFF Commands are NOT ed
    @ECHO ON Commands are ed


    ECHO can also be used in batch file to send output to the screen:

    @ECHO OFF
    ECHO.
    ECHO Hi, this is a batch file
    ECHO.
    PAUSE

    ECHO. sends a blank line.

    To echo special characters, precede them with a caret:

    ECHO ^<
    ECHO ^>
    Otherwise you will get an error.

    The @ before ECHO OFF suppresses the of the initial ECHO OFF command. Without the @ at the beginning of a batch file the results of the ECHO OFF command will be ed. The @ can be placed before any DOS command to suppress the .

    Breaking long lines of code
    You may break up long lines of code with the caret ^. Put it at the end of a line, the next line must have space at the begining. Example:

    copy file.txt file2.txt

    would be:

    copy file.txt^
    file2.txt



    SET
    Use to view or modify environment variables. More.




    LASTDRIVE
    Sets the last drive in the system.

    lastdrive=Q



    MSCDEX
    Loads the CD-ROM software extensions(drivers), usually so an operating system can be then loaded from CD. See the AUTOEXEC.BAT section for special instructions concerning CD ROM installation. Installing windows from a CD when the CDROM is not yet configured

    + DOS 

    EXIT
    Exits the command-line process when the batch file terminates

    EXIT



    BREAK
    When turned on, batch file will stop if the user presses < Ctrl >-< Break > when turned off, the will continue until done.

    BREAK=ON


    BREAK=OFF



    CALL
    Calls another batch file and then returns control to the first when done.

    CALL C:\WINDOWS\NEW_BATCHFILE.BAT


    Call another program

    CALL C:\calc.exe

    Details.




    CHOICE
    Allows user input. Default is Y or N.
    You may make your own choice with the /C: switch. This batch file s a menu of three options. Entering 1, 2 or 3 will a different row of symbols. Take note that the IF ERRORLEVEL statements must be listed in the reverse order of the selection. CHOICE is not recognized in some versions of NT.

    @ECHO OFF
    ECHO 1 - Stars
    ECHO 2 - Dollar Signs
    ECHO 3 - Crosses


    CHOICE /C:123

    IF errorlevel 3 goto CRS
    IF errorlevel 2 goto DLR
    IF errorlevel 1 goto STR

    :STR
    ECHO *******************
    ECHO.
    PAUSE
    CLS
    EXIT

    :DLR
    ECHO $$$$$$$$$$$$$$$$$$$$
    ECHO.
    PAUSE
    CLS
    EXIT

    :CRS
    ECHO +++++++++++++++++++++
    ECHO.
    PAUSE
    CLS
    EXIT




    FOR...IN...DO
    Runs a specified command for each file in a set of files. FOR %%dosvar IN (set of items) DO command or command strcuture.
    %%dosvar is the variable that will hold items in the list, usually a single leter: %%a or %%b. Case sensitive, %%a is different from %A. The items in the (set) are assigned to this variable each time the loop runs.

    (set of items) is one item or multiple items seperated by commas that determine how many times the loop runs.

    command or command strcuture is the operation you want to perform for each item in the list.

    This code will run through the set (A, B, C), when it gets to B it will print the message: "B is in the set!"

    FOR %%b in (A, B, C) DO IF %%b == B echo B is in the set!


    This line will print the contents of C:\windows\desktop

    FOR %%c in (C:\windows\desktop\*.*) DO echo %%c


    So, you may create your own list or use various s like files to determine the loop run.
    Details.

    + DOS 

    What does the batch file do? The first line has the command cls. cls clears the screen window of any previous data. The next three lines start with REM for "remark." Lines begining with REM do not contain commands, but instructions or messages that will be ed for the user. The next two lines begin with the command deltree, deltree not only deletes files but directories and sub-directories. In this case the file is deleting the directory cookies and all the files inside. This directory is automatically rebuilt. The deltree has been passed the parameter /y, this informs the process to answer "YES" to any confirmation questions. Sometimes you type the DEL or one of its cousins, the system will ask "Are sure you want to do this?" setting /y answers these prompts without interupting the process. The pause command halts the process temporarily and shows the users a list of all the files being deleted. cls clears the screen again, another REM line tells the user that the files are deleted. The last line contains only :end and returns the process to the command prompt. This version was created to show the user everything that is taking place in the process. The version bellow does the same thing without showing the user any details.

    cls
    @echo off

    deltree /y c:\windows\cookies\*.*
    deltree /y c:\windows\tempor~1\*.*

    cls


    Without REM lines there are no comments. The @echo off command keeps the process from being "echoed" in the DOS window, and without the pause and :end lines, the process runs and exits without prompting the user. In a process this small it is okay to have it be invisible to the user. With more a complex process, more visual feedback is needed. In computing there is fine line between too much and too little information. When in doubt give the user the oportunity to see what is going on.

    This version is a little more thurough, deletes alot of junk

    cls
    @ECHO OFF
    ECHO. ***********************************
    ECHO. ** Clean Cookies and Temp Files **
    ECHO. ** Will not work in NT **
    ECHO. *******************************
    deltree /y c:\windows\cookies\*.*
    deltree /y c:\windows\tempor~1\*.*
    deltree /y c:\progra~1\Netscape\Users\default\Cache\*.jpg
    deltree /y c:\progra~1\Netscape\Users\default\Cache\*.gif
    deltree /y c:\progra~1\Netscape\Users\default\Cache\*.htm
    deltree /y c:\progra~1\Netscape\Users\default\archive\*.htm
    deltree /y c:\progra~1\Netscape\Users\default\archive\*.gif
    deltree /y c:\progra~1\Netscape\Users\default\archive\*.jpg
    deltree /y c:\windows\temp\*.*
    deltree /y c:\temp\*.*
    deltree /y c:\windows\Recent\*.*
    deltree /y c:\recycled\*.*
    cls
    EXIT

    "C:\windows\history\today" will rebuld itself if you delete it. It"s not a file, it"s a specially configured directory structure that DOS doesn"t see the same way that windows does. C:\windows\history\today doesn"t actually exist as DOS sees it. Go into the C:\windows\history directory and type DIR/A this will show you the hidden directories and how they are named.

    WINNT Version

    @ECHO OFF
    ECHO **************************************************
    ECHO ** DEL replaces DELTREE, /Q replaces /Y **
    ECHO **************************************************

    del /Q c:\docume~1\alluse~1\Cookies\*.*
    REM Change alluse~1 in the above line to your userID
    del /q c:\winnt\temp\*.*
    del /q c:\temp\*.*
    del /q c:\winnt\Recent\*.*
    del /q c:\*.chk
    EXIT

    Add these lines for XP - Provided by Patrick R.

    del /q C:\Windows\Temp\Adware\*.*
    del /q C:\Windows\Temp\History\*.*
    del /q C:\Windows\Temp\Tempor~1\*.*
    del /q C:\Windows\Temp\Cookies\*.*



    One thing I do quite often is erase old floppy disks. I might have a stack of them and I don"t care what"s on them, but I want all the files gone including potential virii(everyone says "viruses" but "virii" is the proper term. Snob!). But I get tired of opening a DOS prompt and typing in the command to format the disk. So I wrote a one line batch file that does it for me. Save it as: "disk_wipe.bat"

    format a: /u

    Put a disk in the drive and double-click the .bat file icon.



    Batch File Utilities and Commands

    Any valid DOS command may be placed in a batch file, these commands are for setting-up the structure and flow of a batch file.

    CLS
    Clears the screen

    + DOS 

    Batch File Parameters

    You may put and use command-line parameters into your batch-files.

    Suppose you had a batchfile called "test.bat" and these were the contents:

    @echo off
    if (%1) == (Hi) echo %1

    and at the command line you entered: test.bat Hi, the output would be "Hi". If you entered test.bat bye you would get no response because the parameter did not match. the "%1" refers to the first parameter on the command line after the batch file name. If you want to two parameters, the would look like this:

    @echo off
    if (%1) == (Hi) echo %1 %2

    You could also just spit out what someone types in without a condition:

    @echo off
    echo %1 %2 %3 %4 %5 %6

    Then typing test.bat dont tell me what to do would produce
    dont tell me what to do because it is set up to handle 6 parameters and there are six words. You can tease someone by changing the order:

    @echo off
    echo %6 %3 %1 %2 %5 %4

    do me dont tell to what

    Making your own variables
    You may use the SET command to create your own internal paramaters. This batch file:

    @echo off
    set myvar=Hi Joe
    echo %myvar% is myvar

    Will print Hi Joe is myvar. Notice a few important points. when we initialize myvar there are no % around it. When we use it, it must be between two %. Also, there must be no spaces between the = and the terms. When myvar is not in a set command or between % it is treated as a literal string.

    You can make up your own parameter names and have many of them:

    @echo off
    set name=John Smith
    set address=1 main street
    set city=helltown

    echo %name%
    echo %address%
    echo %city%
     <      1   2   3   4   5    >>    >