break||(
code that cannot contain non paired closing bracket
)
যদিও goto
সমাধানটি একটি ভাল বিকল্প এটি বন্ধনীগুলির মধ্যে কাজ করবে না (ফোর এবং আইএফ কমান্ড সহ) B তবে এটি করবে। যদিও বন্ধনী এবং অবৈধ সিনট্যাক্স FOR
এবং IF
কমান্ডগুলি বন্ধ করার বিষয়ে আপনার যত্নবান হওয়া উচিত কারণ এগুলি পার্স করা হবে।
হালনাগাদ
ডেনহ্যামের উত্তরের আপডেটটি আমাকে কিছু ধারণা দিয়েছে। প্রথম - দুটি পৃথক কেস রয়েছে যেখানে আমাদের মাল্টি লাইন মন্তব্যগুলির প্রয়োজন হতে পারে - বন্ধনীটির প্রসঙ্গে যেখানে GOTO ব্যবহার করা যায় না এবং এর বাইরেও। ইনসাইড বন্ধনী প্রসঙ্গ আমরা সেখানে একটি শর্ত যা কোড executed.Though কোড thede এখনো বিশ্লেষণ করা হবে এবং কিছু সিনট্যাক্স ত্রুটি সনাক্ত করা হবে (হতে বাধা দেয় যদি অন্য বন্ধনী ব্যবহার করতে পারেন FOR
, IF
, উৎপন্ন বদ্ধ বন্ধনী, ভুল প্যারামিটার সম্প্রসারণ ..)। সুতরাং এটি সম্ভব হলে GOTO ব্যবহার করা ভাল।
যদিও লেবেল হিসাবে ম্যাক্রো / ভেরিয়েবল তৈরি করা সম্ভব নয় - তবে বন্ধুর মন্তব্যের জন্য ম্যাক্রোগুলি ব্যবহার করা সম্ভব ti তবে দুটি কৌশল অবতীর্ণ হতে পারে GOTO মন্তব্যগুলিকে আরও প্রতিসামান্য এবং আরও আনন্দদায়ক (কমপক্ষে আমার জন্য)) এর জন্য আমি দুটি কৌশল ব্যবহার করব - ১) আপনি একটি লেবেলের সামনে একটি একক চিহ্ন রাখতে পারেন এবং এখনও এটি খুঁজে পেতে সক্ষম হবেন (এটি আমার কেন আছে তা আমার কোনও ধারণা নেই y এটি আমার ড্রাইভ অনুসন্ধান করছে বলে অনুমান)। 2) আপনি :
একটি চলক নামের শেষে একটি একক রাখতে পারেন এবং একটি প্রতিস্থাপন / সাবট্রিং বৈশিষ্ট্য ট্রিগার করা হবে না (এমনকি সক্ষম এক্সটেনশনের অধীনে)। ব্র্যাকেট মন্তব্যের জন্য ম্যাক্রোগুলির সাথে মিলিত উভয় ক্ষেত্রেই প্রায় একইরকম দেখাবে।
সুতরাং এখানে উদাহরণগুলি রয়েছে (ক্রমে আমি তাদের সর্বাধিক পছন্দ করি):
সঙ্গে আয়তক্ষেত্রাকার বন্ধনী :
@echo off
::GOTO comment macro
set "[:=goto :]%%"
::brackets comment macros
set "[=rem/||(" & set "]=)"
::testing
echo not commented 1
%[:%
multi
line
comment outside of brackets
%:]%
echo not commented 2
%[:%
second multi
line
comment outside of brackets
%:]%
::GOTO macro cannot be used inside for
for %%a in (first second) do (
echo first not commented line of the %%a execution
%[%
multi line
comment
%]%
echo second not commented line of the %%a execution
)
সঙ্গে কোঁকড়া বন্ধনী :
@echo off
::GOTO comment macro
set "{:=goto :}%%"
::brackets comment macros
set "{=rem/||(" & set "}=)"
::testing
echo not commented 1
%{:%
multi
line
comment outside of brackets
%:}%
echo not commented 2
%{:%
second multi
line
comment outside of brackets
%:}%
::GOTO macro cannot be used inside for loop
for %%a in (first second) do (
echo first not commented line of the %%a execution
%{%
multi line
comment
%}%
echo second not commented line of the %%a execution
)
সঙ্গে প্রথম বন্ধনী :
@echo off
::GOTO comment macro
set "(:=goto :)%%"
::brackets comment macros
set "(=rem/||(" & set ")=)"
::testing
echo not commented 1
%(:%
multi
line
comment outside of brackets
%:)%
echo not commented 2
%(:%
second multi
line
comment outside of brackets
%:)%
::GOTO macro cannot be used inside for loop
for %%a in (first second) do (
echo first not commented line of the %%a execution
%(%
multi line
comment
%)%
echo second not commented line of the %%a execution
)
পাওয়ারশেল এবং সি শৈলীর মধ্যে মিশ্রণ ( <
ব্যবহার করা যাবে না কারণ পুনর্নির্দেশটি উচ্চতর প্রিওর সাথে *
রয়েছে the এর কারণে ব্যবহার করা যায় না %*
):
@echo off
::GOTO comment macro
set "/#:=goto :#/%%"
::brackets comment macros
set "/#=rem/||(" & set "#/=)"
::testing
echo not commented 1
%/#:%
multi
line
comment outside of brackets
%:#/%
echo not commented 2
%/#:%
second multi
line
comment outside of brackets
%:#/%
::GOTO macro cannot be used inside for loop
for %%a in (first second) do (
echo first not commented line of the %%a execution
%/#%
multi line
comment
%#/%
echo second not commented line of the %%a execution
)
উদ্রেক করার জন্য এটি একটি মন্তব্য (ভেবেছিলেন এটি এত ছোট নয়):
@echo off
::GOTO comment macro
set "REM{:=goto :}REM%%"
::brackets comment macros
set "REM{=rem/||(" & set "}REM=)"
::testing
echo not commented 1
%REM{:%
multi
line
comment outside of brackets
%:}REM%
echo not commented 2
%REM{:%
second multi
line
comment outside of brackets
%:}REM%
::GOTO macro cannot be used inside for
for %%a in (first second) do (
echo first not commented line of the %%a execution
%REM{%
multi line
comment
%}REM%
echo second not commented line of the %%a execution
)