স্ক্রিপ্ট 1:
ইনপুট ("কোটস সিএমডি সরান" "এটি একটি পরীক্ষা")
@ECHO OFF
REM Set "string" variable to "first" command line parameter
SET STRING=%1
REM Remove Quotes [Only Remove Quotes if NOT Null]
IF DEFINED STRING SET STRING=%STRING:"=%
REM IF %1 [or String] is NULL GOTO MyLabel
IF NOT DEFINED STRING GOTO MyLabel
REM OR IF "." equals "." GOTO MyLabel
IF "%STRING%." == "." GOTO MyLabel
REM GOTO End of File
GOTO :EOF
:MyLabel
ECHO Welcome!
PAUSE
আউটপুট (কোনও কিছুই নেই,% 1 ফাঁকা, খালি বা NUL ছিল না):
উপরের স্ক্রিপ্ট 1 এর সাথে কোনও পরামিতি ছাড়াই ("Quotes.cmd সরান") চালান
আউটপুট (% 1 ফাঁকা, খালি, বা NULL):
Welcome!
Press any key to continue . . .
দ্রষ্টব্য: আপনি যদি কোনও IF ( ) ELSE ( )
স্টেটমেন্টের অভ্যন্তরে কোনও ভেরিয়েবল সেট করেন তবে "আইএফ" স্টেটমেন্টটি প্রস্থান না করা পর্যন্ত এটি ডিফাইনডের জন্য উপলব্ধ হবে না (যদি না "বিলম্বিত পরিবর্তনশীল প্রসারণ" সক্ষম না করা হয়; একবার সক্ষম হয়ে গেলে এর পরিবর্তে বিস্মৃত চিহ্নটি ব্যবহার করুন "!) শতাংশ "%" প্রতীক}।
উদাহরণ স্বরূপ:
স্ক্রিপ্ট 2:
ইনপুট ("কোটস সিএমডি সরান" "এটি একটি পরীক্ষা")
@ECHO OFF
SETLOCAL EnableDelayedExpansion
SET STRING=%0
IF 1==1 (
SET STRING=%1
ECHO String in IF Statement='%STRING%'
ECHO String in IF Statement [delayed expansion]='!STRING!'
)
ECHO String out of IF Statement='%STRING%'
REM Remove Quotes [Only Remove Quotes if NOT Null]
IF DEFINED STRING SET STRING=%STRING:"=%
ECHO String without Quotes=%STRING%
REM IF %1 is NULL GOTO MyLabel
IF NOT DEFINED STRING GOTO MyLabel
REM GOTO End of File
GOTO :EOF
:MyLabel
ECHO Welcome!
ENDLOCAL
PAUSE
আউটপুট:
C:\Users\Test>"C:\Users\Test\Documents\Batch Files\Remove Quotes.cmd" "This is a Test"
String in IF Statement='"C:\Users\Test\Documents\Batch Files\Remove Quotes.cmd"'
String in IF Statement [delayed expansion]='"This is a Test"'
String out of IF Statement='"This is a Test"'
String without Quotes=This is a Test
C:\Users\Test>
দ্রষ্টব্য: এটি স্ট্রিংয়ের ভিতরে থেকে উদ্ধৃতিগুলিও সরিয়ে ফেলবে।
উদাহরণস্বরূপ (স্ক্রিপ্ট 1 বা 2 ব্যবহার করে): সি: \ ব্যবহারকারীদের \ পরীক্ষা \ নথিগুলি \ ব্যাচ ফাইলগুলি> "কোটস সিএমডি সরান" "এটি" একটি "পরীক্ষা"
আউটপুট (স্ক্রিপ্ট 2):
String in IF Statement='"C:\Users\Test\Documents\Batch Files\Remove Quotes.cmd"'
String in IF Statement [delayed expansion]='"This is "a" Test"'
String out of IF Statement='"This is "a" Test"'
String without Quotes=This is a Test
স্ক্রিপ্ট 2 তে কোনও পরামিতি ছাড়াই ("Quotes.cmd সরান") সম্পাদন করুন:
আউটপুট:
Welcome!
Press any key to continue . . .
if "%1" == "" GOTO MyLabel
স্ক্রিপ্টটির সম্পাদনকে মারাত্মকভাবে হত্যা করে না যতক্ষণ না%1
ডাবল-কোট সংখ্যা রয়েছে। আমি দেখতে পাচ্ছি যে%1
এই ত্রুটিটির সাথে একটি অদ্ভুত সংখ্যক ডাবল-কোট স্ক্রিপ্টটির সম্পাদনাকে হত্যা করে:The syntax of the command is incorrect.
নীচের সমাধান যা সমস্যার সমাধানের জন্য বর্গাকার বন্ধনী ব্যবহার করে সঠিক উত্তর হিসাবে চিহ্নিত করা হয়েছে তবে এটি আরও ভাল কিছু করছে বলে মনে হয় না seem । যখন%1
বিজোড় সংখ্যক ডাবল-কোট থাকে তখন সেই দ্রবণটিও একই ত্রুটির সাথে ব্যর্থ হয় ।