কোড গল্ফিংয়ের জন্য উইন্ডোজ ব্যাচ (সিএমডি) সম্ভবত সবচেয়ে কম উপযুক্ত ভাষা।
নিউলাইন চরিত্রগুলি এড়িয়ে চলুন । আপনি যদি অক্ষরের বিপরীতে বাইটের মধ্যে সংক্ষিপ্ততম কোডটি সন্ধান করছেন তবে আপনি সমস্ত অপ্রয়োজনীয় ক্যারিয়ারের রিটার্ন (নিউলাইন অক্ষর = 2 বাইট) থেকে মুক্তি পেতে চাইবেন। আপনি &
প্রতিটি কমান্ডের জন্য একটি বাইট ছাঁটাই করে এটি করতে অপারেশনটি ব্যবহার করতে পারেন ।
echo Hello&echo World.
ভেরিয়েবল সেট করা হচ্ছে । সুইচগুলি ব্যবহার করে ভেরিয়েবলগুলি সেট করার সময়, set
পার্সার স্পেসগুলি উপেক্ষা করবে।
set /a a+=1
set /p b="User Input: "
:: Will be handled the same as..
set/aa+=1
set/pb="User Input: "
নোট করুন যে একই পার্সার বিধিগুলি সমস্ত কমান্ডের ক্ষেত্রে প্রযোজ্য নয় - উদাহরণস্বরূপ, লুপগুলির জন্য ফাঁকা স্থান প্রয়োজন। মধ্যে ছাড়া set, string, or command
(অর্থাত কি বন্ধনী ভিতরে হয়) এবং শব্দ do
।
for /f %%a in (file.txt)do ...
সহজ গাণিতিক এক্সপ্রেশন । এছাড়াও, set /a
কমান্ডটিতে বৃদ্ধি করার জন্য আমি যে অভিব্যক্তিটি ব্যবহার করেছি তা লক্ষ্য করুন । সাধারণ গাণিতিক এক্সপ্রেশনগুলির += -= *= /=
পরিবর্তে (উদাহরণস্বরূপ) ব্যবহার করুন set /a a=%a%+1
।
কমান্ড আউটপুট সংগ্রহ করা । কমান্ডের আউটপুট পেতে, এটি কখনও কখনও কোনও ফাইল থেকে আউটপুট আউট করতে এবং পড়তে কার্যকর হতে পারে, যেখানে আপনি অন্যথায় আউটপুট সংগ্রহের জন্য লুপ ব্যবহার করতে পারেন:
for /f %%a in ('echo test') do set a=%%a
:: Can be shortened to
echo test>f&set/pa=<f
echo test
stdout কে f নামক একটি ফাইলে প্রেরণ করুন >f
, একটি নতুন কমান্ড শুরু &
করুন এবং ভেরিয়েবলের মধ্যে ফাইলের বিষয়বস্তুগুলি পান set/pa=<f
। অবশ্যই এটি সর্বদা কার্যকর হয় না isn't তবে এটি তখন হতে পারে যখন আপনার প্রয়োজন সমস্ত আউটপুটের একক লাইন।
কমান্ড আউটপুট । কমান্ড আউটপুট দমন @
করার সময়, কমান্ডগুলির আগে ব্যবহার করুন, যদি না আপনার 9 টিরও বেশি কমান্ড দমন করার প্রয়োজন হয়, সেক্ষেত্রে @echo off
, আপনার স্ক্রিপ্টের শুরুতে ব্যবহার করুন। @echo off
9 বাইট দীর্ঘ, এবং তাই সাধারণত দীর্ঘ স্ক্রিপ্ট সহ আরও বাইট সংরক্ষণ করা হবে।
কমান্ডগুলি প্রায়শই সুস্পষ্টর চেয়ে বেশি কিছু করে - আপনার আদেশগুলি কী করছে তা ভেবে দেখুন। উদাহরণ স্বরূপ; যদি আপনার কোনও ভেরিয়েবল সেট করতে হয় এবং এর পরিবর্তে অন্য ভেরিয়েবল প্রতিধ্বনিত হয়:
set a=OUTPUT
echo %a%
echo test>f
set /p b=<f
আপনি আপনার /p
জন্য আউটপুট পরিবর্তন করতে সেট কমান্ড ব্যবহার করতে পারেন %a%
।
set a=OUTPUT
echo test>f
set /p b=%a%<f
সম্পূর্ণ গল্ফড ...
set a=OUTPUT&echo test>f&set/pb=%a%<f
উদাহরণগুলির একটি দম্পতি - সমস্ত অঙ্কের সমষ্টি গণনা - গোল্ডবাচের অনুমান ।
অন্য যে কোনও টিপস প্রশংসা করার চেয়ে বেশি - আমি অন্য কিছু ভাবলে আমি এটি আপডেট করতে থাকি।