সম্মানিত দর্শক আপনাকে স্বাগতম। আমাকে Facebook instagram Telegram এ পাবেন। কামরুলকক্স: রেজিস্ট্রি পরিচালনা করি ডসের মাধ্যমে

রেজিস্ট্রি পরিচালনা করি ডসের মাধ্যমে



এক সময় DOS (Disk Operating System) ব্যবহৃত হত অপারেটিংস সিস্টেম হিসেবে। উইন্ডোজের যুগে এসেও সেই ডসের প্রয়োজনীয়তা শেষ হয়নি। তাই ডসের কিছু অংশ যুক্ত করে দেয়া হয়েছে বর্তমান উইন্ডোজে। অন্যদিকে রেজিস্ট্রি ছাড়া উইন্ডোজের অস্থিত্ব কল্পনা করা যায় না। তাই ডস আর রেজিস্ট্রি উইন্ডোজ অপারেটিংস সিস্টেমের খুবই গুরুত্বপূর্ণ অংশ যার মাধ্যমে একজন ইউজার অনেক জটিল জটিল কাজ করতে পারেন যা সাধারণ অবস্থায় গ্রাফিক্স মোডে সম্ভব হয় না। আজকে ডস দিয়ে কিভাবে রেজিস্ট্রির বিভিন্ন সেটিংস পরিবর্তন, সংযোজন, বিয়োজন ইত্যাদি করা যায় তা আলোচনা করবো। তবে এ পোষ্টটি বুঝতে হলে অবশ্যই রেজিস্ট্রি আর ডস সম্পর্কে ধারণা থাকতে হবে। এজন্য আমার MS DOS, Registry Editing পোষ্টগুলো দেখতে পারেন।

ডসের মাধ্যমে রেজিস্ট্রিতে যা যা করত পারেনঃ
ডস আর bat ফাইল দিয়ে রেজিস্ট্রির যে কাজগুলো করা যায় তা নিম্মে আলোচনা করা হলো। কমান্ডগুলো আপনি কমান্ড প্রম্পট কিংবা .bat ফাইল, .cmd ফাইলের মাধ্যমে প্রয়োগ করতে পারবেন। bat ফাইল, .cmd ফাইলের জন্য Notepad এর ব্যবহার আমার উপরের দেয়া পোষ্টগুলোতে পাবেন।

১। ডসের মাধ্যমে কোন ফাইলকে রেজিস্ট্রিতে এন্ট্রি করা যায় আবার সেই এন্ট্রিকে বাদ দেয়া যায়। এন্ট্রি করার পর ফাইলটি উইন্ডোজে কাজ করবে আবার এন্ট্রি বাদ দিলে তা কাজ করবে না।

যেমন আমরা উইন্ডোজে Video Thumbnails, Image Thumbnails দেখতে পায়। এ Thumbnails গুলো দেখি shmedia.dll, shimgvw.dll নামের ফাইল দুটির মাধ্যমে। shmedia.dll হল ভিডিওর জন্য, আর shimgvw.dll হল ইমেজের জন্য। যদি shmedia.dll নামের ফাইলটি রেজিস্ট্রিতে এন্ট্রি থাকে তাহলে আপনি Video Thumbnail দেখতে পারবেন আর এন্ট্রি না থাকলে দেখতে পারবেন না। অন্যদিকে shimgvw.dll ও একই কাজ করবে। এরকম আরো অনেক ফাইল আছে যাদেরকে প্রয়োজন অনুসারে রেজিস্ট্রিতে এন্ট্রি কিংবা রেজিস্ট্রি থেকে বাদ দিতে হয়। আর এ কাজটির জন্য ডস ছাড়া বিকল্প পথ নেই। কিভাবে এন্ট্রি বা বাদ দেব তার কমান্ড হেল্প আর কমান্ড ব্যবহার নিচে দেয়া হল। নিচে হেল্প কমান্ড দেয়া হলো।
 regsvr32 /?

Uninstall shmedia.dll: shmedia.dll নামের ফাইলটি রেজিস্ট্রি থেকে বাদ দেয়ার জন্য নিচের কমান্ডটি দিন।
regsvr32 /s /u shmedia.dll

এর ফলে আপনার উইন্ডোজে থাকা shmedia.dll ফাইলটি রেজিস্ট্রির লিস্ট থেকে বাদ হয়ে যাবে এবং আপনি কোন ভিডিও ফাইলের Thumbnails দেখতে পাবেন না। এখানে /s মানে হল সাইলেন্ট কমান্ড সুইচ যার ফলে ডস আপনাকে Yes/No মেসেজ দেবে না। .bat ফাইল তৈরি করলে /s সুইচটা আপনাকে দিতে হবে। আর /u হল Uninstall কমান্ড যাতে ফাইলটি Uninstall হয়ে যায়।

Install shmedia.dll: shmedia.dll  নামের ফাইলটি রেজিস্ট্রিতে যুক্ত করার জন্য নিচের কমান্ডটি দিন।
regsvr32 /s shmedia.dll

এর ফলে আপনার উইন্ডোজে থাকা shmedia.dll ফাইলটি রেজিস্ট্রির লিস্টে এন্ট্রি হবে এবং আপনি ভিডিও ফাইলের Thumbnails দেখতে পাবেন আগের মত।

এভাবে shimgvw.dll ফাইলটিও আপনি রেজিস্ট্রিতে Install/Uninstall করতে পারেন।
regsvr32 /s /u shimgvw.dll
regsvr32 /s shimgvw.dll

ফাইলগুলো উইন্ডোজের ফাইল বিধায় এর এড্রেস দেয়ার দরকার নাই। কিন্তু উইন্ডোজের ফাইল না হয়ে কারো কাস্টমাইজ করে তৈরি ফাইল হয়ে থাকলে তাহলে এড্রেস সহ লিখতে হবে। যেমন
regsvr32 /s "C:\WINDOWS\system32\Tree.dll"

উপরের কমান্ডটিতে Tree.dll নামের ফাইলটি উইন্ডোজের ফাইল নয়। এটি একটি কাস্টমাইজ করা ফাইল। এ ধরনের আরো একটি প্রয়োগ দেখতে পারেন এখানে

২। আমরা বিভিন্ন সময় রেজিস্ট্রি সেটিংস এর জন্য রেজিঃ ফাইল বেকআপ করে রাখি। সে ফাইলগুলো ডাবল ক্লিক করে রেজিস্ট্রিতে এড করা যায়। আপনি চায়লে ঐ ফাইলকে ডসের মাধ্যমে রান করিয়ে রেজিস্ট্রিতে এড করাতে পারেন।
কমান্ড regedit Path&Filename

যেমনঃ
regedit /s C:\WINDOWS\system32\cdinsert.reg
এখানে cdinsert.reg নামের রেজিঃ ফাইলটি আছে উইন্ডোজের system32 নামের ফোল্ডারে। ডাবল ক্লিক করে ফাইলটি আমরা রেজিস্ট্রিতে এড করাতে পারি। কিন্তু এখন ডসের মাধ্যমে কাজটি করবো। আর কাজটি করার জন্য আমি কমান্ড দেয়ার পর ফাইলটির এড্রেস সহ নাম দিলাম। এখানে /s মানে হল সাইলেন্ট কমান্ড সুইচ যার ফলে ডস আপনাকে Yes/No মেসেজ দেবে না। .bat ফাইল তৈরি করলে /s সুইচটা আপনাকে দিতে হবে। এভাবে যেকোন রেজিস্ট্রি ফাইল রান করা যায়।


৩। রেজিস্ট্রির বিভিন্ন Key, Data, Value, Type ইত্যাদি যুক্ত করা, বাদ দেয়া বা পরিবর্তন ইত্যাদি করা যায়। এর কমান্ড হল reg। আপনি ঐ কমান্ড সম্পর্কে হেল্প পেতে চায়লে ডসে গিয়ে reg /? কমান্ডটি প্রয়োগ করে দেখুন। তাহলে নিচের মত হেল্প পেজ আসবে।

ওখানে  QUERY, ADD, DELETE, SAVE, LOAD, UNLOAD, COMPARE, EXPORT, IMPORT অপারেশন বা কমান্ডগুলো দেখতে পাচ্ছেন নিশ্চয়। তবে সবগুলো কমান্ড সমান গুরুত্বপূর্ণ নয়। এদের মধ্যে ADD, DELETE এ দুটি কমান্ড অধিক গুরুত্বপূর্ণ। তাই এ দুটি নিয়ে আলোচনা করছি। এ গুলো বুঝবে বাকিগুলো যে কেউ পারবে।
এখানে,
HKCR= HKEY_CLASSES_ROOT
HKCU= HKEY_CURRENT_USER
HKLM= HKEY_LOCAL_MACHINE
HKU= HKEY_USERS
HKCC= HKEY_CURRENT_CONFIG

বামপাশেরটা হল সংক্ষিপ্ত নাম আর ডান পাশেরটা হলো পুরো নাম। দুটির যেকোনটি বসানো যায়।

ADD: এ কমান্ডটির প্যারামিটারটা আমরা আগে হেল্প কমান্ডের মাধ্যমে দেখি। এ জন্য ডসে গিয়ে reg add /? কমান্ডটি দিয়ে দেখুন। নিচের মত চিত্র আসবে।

উপরের চিত্র হিসেবে রেজিস্ট্রিতে তথ্য এড করার জন্য কমান্ড নিম্নরূপ। প্রত্যেকটা সুইচের পর এক স্পেস ফাঁকা আছে।
REG ADD KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [/d Data] [/f]

এখানে /v= Value, আপনি নামযুক্ত কোন ভেল্যু যুক্ত করতে চায়লে /v এরপর ভেল্যুটি লেখবেন।
/ve= Empty Value, নামছাড়া ভেল্যু যুক্ত করতে চায়লে /ve দিতে হবে। /v আর /ve একসাথে দেয়া যাবে না।
/t = Type, এই সুইচের পর আপনার ডাটা টাইপ লিখতে হবে।
/s= এটি  ব্যবহার হয় না।
/d = Data, এ সুইচের পর আপনার ডাটা লিখতে হবে।
/f= Force, এটি সাইলেন্ট কমান্ড সুইচ। এর ফলে Yes/No মেসেজ আসবে না। এটি সেটিংস পরিবর্তন করার জন্য বেশি জরুরী। কারণ কোন রেজিস্ট্রি সেটিংস আগে থেকেই থাকলে তাকে Overwrite করতে হয়। আর এ জন্য এটি কার্যকর। উপরের কমান্ড অনুসরণ করে আমরা নিচের কমান্ডটি প্রয়োগ করবো। (ডস বা নোটপ্যাডের মাধ্যমে)
reg add "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main" /v "Window Title" /d KAMRULCOX /f

কমান্ডটি প্রয়োগ করার ফলে রেজিস্ট্রিতে আমার দেয়া তথ্য যোগ হয়ে Internet Explorer এর টাইটেল বারে আমার নামটি দেখা যাচ্ছে নিচের মত। কাজটি নিচের রেজিঃ স্ক্রিপ্টটি রান করে কিংবা গ্রুপ পলিসিতে গিয়েও করার যায়। 


Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]
"Window Title"="KamrulCox"

ব্যাখ্যাঃ উপরের কমান্ডটিতে আমি  " " চিহ্ন ব্যবহার করেছি। এর কারণ হলো কোন নামের একাধিক অংশ থাকলে এটি দিতে হবে। অন্যথায় Error মেসেজ আসবে। আমি /t সুইচটি ব্যবাহর করি নি। কারণ আমার ডাটা টাইপ ছিল  REG_SZ। আর /t সুইচটি না বসালে ডিফল্ট হিসেব  REG_SZ টাইপটি বসবে। তাই আমি কষ্ট করি নি। অন্য ডাটা টাইপ হলে সুইচটা বসাতে হবে।

এভাবে আপনি Windows Media Player এর টাইটেলবারে নিজের নাম যুক্ত করতে পারেন নিচের কমান্ডটির মাধ্যমে।
reg add "HKEY_CURRENT_USER\Software\Policies\Microsoft\WindowsMediaPlayer" /v TitleBar /d KAMRULCOX /f

এছাড়া সার্চ পেজ, স্টার্ট পেজ চেন্জ করতে পারেন নিম্নের কমান্ডের মাধ্যমে। এভাবে আপনি ইচ্ছেমত রেজিস্ট্রি এড/পরিবর্তন করতে পারেন।
REG ADD "HKCU\SOFTWARE\Microsoft\Internet Explorer\Main" /V "Start Page" /D "http://www. google.com" /F
REG ADD "HKCU\SOFTWARE\Microsoft\Internet Explorer\Main" /V "Search Page" /D "http://www.google.com" /F


Delete: এর মাধ্যমে আপনি কোন রেজিস্ট্রিKey বা Value ডিলিট করতে পারেন। কমান্ড নিম্নরূপ:
REG DELETE KeyName [/v ValueName | /ve | /va] [/f]
এখানে, 

এখানে /v= Value, আপনি নামযুক্ত কোন ভেল্যু যুক্ত করতে চায়লে /v এরপর ভেল্যুটি লেখবেন।
/va= Value all, কোন Key এর অধীনে থাকা সকল ভেল্যু মুছার জন্য। এতে Key টি থেকে যাবে কিন্তু ভেল্যুগুলো মুছে যাবে। /v আর /va একসাথে দেয়া যাবে না।
/f= Force, এটি সাইলেন্ট কমান্ড সুইচ। এর ফলে Yes/No মেসেজ আসবে না। .bat ফাইলের জন্য এটি জরুরী।

উপরের কমান্ড অনুসরণ করে আমরা নিচের কমান্ডটি প্রয়োগ করবো।
reg delete "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main" /v  "Window Title" /f
এ কমান্ডটি উপরে যুক্ত করা Internet Explorer এর টাইটেল বারে আমার নামটি মুছে যাবে।


আমরা ইচ্ছে করলে .bat ফাইলের মাধ্যমে সংক্ষিপ্ত কমান্ডও প্রয়োগ করতে পারি। নিচের কমান্ডটি দেখুন।

set flv=HKLM\SOFTWARE\Classes\.flv
reg delete %flv% /f

এখানে set flv হলো একটি ভেরিয়েবল যার মান HKLM\SOFTWARE\Classes\.flv। সুতরাং আমরা যেখানে HKLM\SOFTWARE\Classes\.flv এড্রেসটি লিখতে চাই সেখানে শুধু %flv% দিলেই কাজ হয়ে যাবে। উপরের কমান্ডটির মাধ্যমে HKLM\SOFTWARE\Classes\.flv এড্রেসটি রেজিস্ট্রি থেকে মুছে যাবে।

এভাবে আপনার পছন্দমত কমান্ড প্রয়োগ করতে পারেন। প্রাকটিস করে দেখুন। নিশ্চয় ভাল লাগবে আপনার।


৪টি মন্তব্য:

  1. ভাই কমেন্ট না করে থাকতে পারলাম না । অনেক কিছুই জানতাম না এর আগে।আপনার লেখা খুবই সুন্দর। আমার জানা হলো এ জন্য অসংখ্য ধন্যবাদ। সারাদিন রাত লোডশেডিং লেগেই আছে তাই কমেন্ট করতে পারছিনা কোন ব্লগে বা ফোরামে।

    উত্তরমুছুন
  2. রান থেকে sr2.exe ডিলেট করবো হচ্ছে না ।ভূল কোথায়?

    set ts=HKCU\Software\Microsoft\Windows\CurrentVersion\Run\sr2.exe
    reg delete %ts% /f

    উত্তরমুছুন
    উত্তরগুলি
    1. আপনার কমান্ডটি সঠিক হয় নি। তার কারণ হলো, আপনার রেজিস্ট্রি এডিটরের Keys, Value, Typed, Data এগুলোতে ভুল হচ্ছে। আপনি আগে আমার রেজিস্ট্রি সম্পর্কে লেখার লিংকগুলো দেখে এ জিনীসগুলো ভালভাবে বুঝে নিন। আশাকরি পারবেন।

      মুছুন

Comments করার জন্য Gmail এ Sign in করতে হবে।