নজর রাখার জন্য কিছু গোছা:
আপনি যদি ডাবল ক্লিক করেন তবে ব্যাচ ফাইলের %0
চারপাশে কোট দেওয়া হবে। উদাহরণস্বরূপ, আপনি যদি এই ফাইলটি সংরক্ষণ করেন c:\test.bat
:
@echo %0
@pause
এটিতে ডাবল ক্লিক করলে আউটপুট সহ একটি নতুন কমান্ড প্রম্পট খোলা হবে:
"C:\test.bat"
তবে আপনি যদি প্রথমে কোনও কমান্ড প্রম্পটটি খোলেন এবং সরাসরি সেই আদেশ আদেশ থেকে সরাসরি কল করেন, %0
আপনি যা টাইপ করেছেন তা উল্লেখ করবে । আপনি যদি টাইপ করেন test.bat
Enterতবে আউটপুটটির %0
কোনও উদ্ধৃতি থাকবে না কারণ আপনি কোনও উদ্ধৃতি টাইপ করেছেন:
c:\>test.bat
test.bat
আপনি যদি টাইপ করেন test
Enterতবে আউটপুটটির %0
কোনও এক্সটেনশনও থাকবে না, কারণ আপনি কোনও এক্সটেনশন টাইপ করেছেন:
c:\>test
test
একই জন্য tEsT
Enter:
c:\>tEsT
tEsT
আপনি যদি টাইপ করেন "test"
Enterতবে এর আউটপুটে %0
কোট থাকবে (যেহেতু আপনি এগুলি টাইপ করেছেন) তবে কোনও এক্সটেনশন নেই:
c:\>"test"
"test"
শেষ অবধি, আপনি যদি টাইপ করেন "C:\test.bat"
তবে আউটপুটটি ঠিক এমনভাবে হবে যেমন আপনি এটিতে ডাবল ক্লিক করেছেন:
c:\>"C:\test.bat"
"C:\test.bat"
নোট করুন যে এগুলি সমস্ত সম্ভাব্য মান নয় %0
কারণ আপনি অন্যান্য ফোল্ডার থেকে স্ক্রিপ্ট কল করতে পারেন:
c:\some_folder>/../teST.bAt
/../teST.bAt
উপরে প্রদর্শিত সমস্ত উদাহরণগুলিও প্রভাব ফেলবে %~0
, কারণ এর আউটপুটটি %~0
কেবল %0
বিয়োগ কোটের আউটপুট (যদি থাকে)।
echo %~dp0
কমান্ড লাইনে কাজ করবে না, কেবল একটি ব্যাচ ফাইলে। Duh!