উইন্ডোজ ব্যাচ ফাইল সর্বাধিক শুরু করুন


7

আমি কয়েক ডজন মেশিনে বিতরণ করার পরিকল্পনা করে একটি ব্যাচ ফাইল লিখেছি। এটি স্বয়ংক্রিয়ভাবে বিভিন্ন ডিভাইসের কাজ অবস্থা পরীক্ষা করে। আমি সম্প্রতি স্ক্রিপ্টের শুরুতে একটি "মেনু" যুক্ত করেছি, ব্যবহারকারীকে একটি তালিকা থেকে অনুসন্ধানের জন্য নির্দিষ্ট আইটেমগুলি নির্বাচন করার পরামর্শ দিয়েছি। তালিকা, তবে, স্ক্রলিং ছাড়া দেখতে খুব দীর্ঘ।

আমার তালিকা পরিমার্জিত করার পরিবর্তে, আমি কি করতে পারি ব্যাচ যোগ করুন উইন্ডোজ শেল শুরু করার জন্য সর্বাধিক? আমি ঠকাই করার চেষ্টা করেছিলাম Right click the .bat -> Properties -> Change the "Run" state to "Maximized", কিন্তু এই বিকল্পটি বিদ্যমান নেই (এবং আমি সত্যি বলতে চাই স্ক্রিপ্টের মধ্যে এই বৈশিষ্ট্যটি যুক্ত করব)।

স্ক্রিপ্ট চালানোর যন্ত্রগুলি উইন্ডোজ 7 চালাচ্ছে

উত্তর:


14

আপনি চেষ্টা করতে পারেন start /MAX yourscript.bat আপনার স্ক্রিপ্টটি সর্বাধিক সিএমডি (উইন্ডোজ 7 পর্যন্ত) শুরু করতে

সম্পাদন করা (রিক দ্বারা):

আমি একটি ছোট উদাহরণ তৈরি করেছি যা দেখায় কিভাবে আপনি এটি একটি ব্যাচ ফাইলে কীভাবে করতে পারেন
(একটি পৃথক লঞ্চার ছাড়া):

@echo off
if not "%1" == "max" start /MAX cmd /c %0 max & exit/b

:: here comes the rest of your batch-file
echo "test"

pause

সর্বাধিক সংস্করণটি শুরু করার আগে মূল ব্যাচ-ফাইলের সামান্য ফ্লিকার (যা অবিলম্বে প্রস্থান করবে)।


সহজ ব্যাখ্যা:
ব্যাচ পরামিতি সঙ্গে বলা হয় না max আমরা আবার নিজেকে কল ( %0 ), এই সময় সাহায্যের সাথে সর্বাধিক start /max, এবং পরামিতি সঙ্গে max এবং যে ভাবে এটি দ্বিতীয়বার বলা হয়, এটি যদি বিবৃতি বাদ দেয় এবং আপনার কমান্ডগুলি চালিয়ে যায়।

ভাঙ্গন:

  • if not "%1" == "max" শুধুমাত্র যদি পরবর্তী কমান্ড চালানো %1 "সর্বোচ্চ" নয়। %1 ব্যাচ ফাইলে দেওয়া প্রথম পরামিতির জন্য দাঁড়িয়েছে। সুতরাং my_batch.bat max থাকবে max মধ্যে %1 -variable। যদি আমরা একটি সঙ্গে ব্যাচ শুরু না max পরামিতি আমরা এই লাইন চালানো প্রয়োজন।
  • start /MAX পরে কমান্ডটি শুরু করুন, সর্বাধিক আকারে।
  • cmd /c এক্সিকিউট cmd.exe এবং /c মানে পরে প্রস্থান।
  • %0 max। দ্য %0 আপনার নিজের ব্যাচ-ফাইলের নাম এবং এখানে max তার প্রথম পরামিতি হয়। এর মানে আমরা প্রথম যে এড়িয়ে যেতে হবে if লাইন বা অন্যথায় আমরা একটি লুপ ধরা ধরা :)
  • & exit/b: দ্য & মানে আগের কমান্ডটি একসাথে একই সাথে চালানো হবে। এই আমরা মৃত্যুদন্ড কার্যকর করা মানে start /max your batchfile এবং ইতিমধ্যে বর্তমান ব্যাচ প্রস্থান।

এই আমরা কল করতে পারেন না মানে এই সংস্করণ তুলনায় অন্য কোন পরামিতি সঙ্গে max। আপনার ব্যাচ ফাইলগুলি শুরু করার জন্য একটি পরামিতি প্রয়োজন হলে আপনাকে আরও কিছু যাদু (যেমন shift পরীক্ষার পরে% 1 ing)।
যে ক্ষেত্রে আমাদের জানাতে।


এই কাজ করবে, কিন্তু একটি "আরম্ভ" ব্যাচ তৈরি করা প্রয়োজন। যদি সম্ভব হয় তবে আমি কেবলমাত্র একটি ফাইলের বাইরে চলমান সম্পূর্ণ ক্রিয়াকলাপে এটি হ্রাস করার চেষ্টা করছি। +1 টি
root

1
@root তবে আপনি একটি ব্যাচ তৈরি করতে পারেন যা ব্যাচফিলের শুরুতে কিছু চালাক এক-মাছ ধরার সাথে নিজেকে চালু করে। কিছুটা এইরকম @echo off // if not "%1"=="max" start /MAX %0 max // <rest of the batch>>। (পরীক্ষিত নয়, কিন্তু আপনি যেখানে যাচ্ছি আমি দেখতে পাচ্ছি ...)
Rik

@ user2196728 আমি আপনার উত্তরের একটি উদাহরণ যোগ করার স্বাধীনতা টুল করি যেখানে আপনাকে আলাদা লঞ্চার-ব্যাচ লাগবে না। (আশা করি ঠিক আছে)
Rik

@ রিকঃ আপনি যতটা লিখেছেন, তেমন কোনও পবি আমার কাছে ভাল লাগছে না :) এবং এটি সঠিক মনে হচ্ছে :)
user2196728

@ ব্যবহারকারী 2196728 না, সাথে echo "rest of batch" আমি শুধু একটি স্থানধারক হিসাবে বোঝানো। পরে if not লাইন আপনি আপনার স্বাভাবিক ব্যাচ অন্তর্ভুক্ত করতে পারেন। (আমি এটি পরিষ্কার করার জন্য এটি সম্পাদনা)
Rik

0

রান চলাকালীন আপনি কমান্ড প্রম্পটটি সর্বোচ্চ করতে পারেন তবে আপনার দুটি অতিরিক্ত স্ক্রিপ্ট দরকার: উইন্ডো মোড এবং getCmdPid.bat :

@echo off

call getCmdPid
call windowMode -pid %errorlevel% -mode maximized

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