উইন্ডোজ ব্যাচের ফাইলগুলিতে কেন ভেরিয়েবলগুলি আনলোড করুন


13

উইন্ডোজ ব্যাচের ফাইলগুলিতে ব্যবহৃত ভেরিয়েবলগুলি আনলোড করা কি প্রয়োজনীয় বা ভাল অনুশীলন হিসাবে বিবেচিত হয় ?
উদাহরণস্বরূপ নিম্নলিখিত কোডে, set myFolder=শেষে কি প্রয়োজনীয়?

@echo off
set myFolder="C:\Temp\Batchfiles"
echo %myFolder%

set myFolder=

আমি এটি অনলাইনে বেশ কয়েকটি স্থানে দেখেছি, অবশ্যই ব্যাচ ফাইলটি শেষ হলে ভেরিয়েবলগুলি স্বয়ংক্রিয়ভাবে লোড হবে?

উত্তর:


33

SETএকটি বিশ্ব পরিবেশ পরিবর্তনশীল সেট করবে। এটি আপনার স্ক্রিপ্ট কার্যকর হওয়ার পরে অবিরত থাকবে।

আসুন একটি উদাহরণ দেখুন।
প্রথমে, ভেরিয়েবলটি বিদ্যমান নেই তা নিশ্চিত করার জন্য আমি সাফ করি।

C:\Users\Oliver\Desktop>set TEST=

একটি দ্রুত পরীক্ষা:

C:\Users\Oliver\Desktop>echo %TEST%
%TEST%

আসুন that ব্যাচ ফাইলটি তৈরি করুন এবং এটি সম্পাদন করুন:

C:\Users\Oliver\Desktop>echo set TEST=something>test.bat
C:\Users\Oliver\Desktop>test.bat
C:\Users\Oliver\Desktop>set TEST=something

আমার .batফাইলটি কার্যকর হওয়ার পরে টেস্টের মানটি দেখুন :

C:\Users\Oliver\Desktop>echo %TEST%
something

সুতরাং, হ্যাঁ, স্ক্রিপ্টের শেষে ভেরিয়েবল সাফ করা ভাল অনুশীলন।


এমনকি আরও ভাল ব্যবহার করা SETLOCALএবং ENDLOCALসম্পূর্ণ সমস্যা এড়ানো ভাল হবে ।

এখানে, আমি একটি নতুন .batফাইল তৈরি করেছি যা ব্যবহার করে SETLOCALএবং ENDLOCAL:

C:\Users\Oliver\Desktop>type test.bat
setlocal
set TEST=something
endlocal

আমরা পরিষ্কার TESTশুরু করি তা নিশ্চিত করার জন্য এটি পরিষ্কার করুন এবং এর প্রতিধ্বনি দিন:

C:\Users\Oliver\Desktop>set TEST=
C:\Users\Oliver\Desktop>echo %TEST%
%TEST%

দুর্দান্ত, এখন নতুন চালানো যাক .bat:

C:\Users\Oliver\Desktop>test.bat
C:\Users\Oliver\Desktop>setlocal
C:\Users\Oliver\Desktop>set TEST=something    
C:\Users\Oliver\Desktop>endlocal

এখন TESTএখনো খালি হবে:

C:\Users\Oliver\Desktop>echo %TEST%
%TEST%

2
+ +! স্পষ্টতার জন্য
রায়স্টাফেরিয়ান

1
দুর্দান্ত উদাহরণ এবং ব্যাখ্যা - ধন্যবাদ
ChrisB
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.