ব্যাচ ফাইল কার্যকর হওয়ার পরে কীভাবে স্বয়ংক্রিয়ভাবে সেমিডি উইন্ডো বন্ধ করবেন?


90

আমি একটি ব্যাচ ফাইল চালাচ্ছি যার এই দুটি লাইন রয়েছে:

start C:\Users\Yiwei\Downloads\putty.exe -load "MathCS-labMachine1"
"C:\Program Files (x86)\Xming\Xming.exe" :0 -clipboard -multiwindow

এই ব্যাচের ফাইলটি এক্সিং অ্যাপ্লিকেশন চালানোর জন্য ব্যবহৃত হয় এবং তারপরে পিটিটিওয়াই অ্যাপ্লিকেশন যাতে আমি আমার বিশ্ববিদ্যালয়ের কম্পিউটার ল্যাবটিতে এসএসএইচ করতে পারি।

যাইহোক, আমি যদি এটি চালিয়ে থাকি এবং জিমিং ইতিমধ্যে খোলা না থাকে, একবার আমি পুটিটিওয়াই টার্মিনাল থেকে প্রস্থান করলে সেমিডি উইন্ডোটি খোলা থাকে। আমি যদি পটিটিই টার্মিনালটি বন্ধ করি তবেই যদি আমি ইতিমধ্যে জেমিং চালিয়েছি সেমিডি উইন্ডোটি বন্ধ করে দেয়। আমি exitব্যাচ ফাইলের শেষ পংক্তিতে যুক্ত করার চেষ্টা করেছি , তবে কোন ফলসই হয়নি।


4
হয় "C:\Program Files (x86)\Xming\Xming.exe"putty.exe থেকে একটি প্যারামিটার, অথবা একটি পৃথক কমান্ড?
বিপিউস

যদি দ্বিতীয় লাইনটি দ্বিতীয় কমান্ড হয় তবে তার আগেও শুরু করার চেষ্টা করুন।
গ্রে

4
@ বার্নহার্ডপয়েস এটি একটি পৃথক কমান্ড, পুট্টি.এক্সির জন্য প্যারামিটার নয়। আমি যদি প্রথমে লাইনটি রাখি তবে এটি স্তব্ধ হয়ে যায় এবং পুট্টি খোলে। যদি আমি এটা সামনে শুরু করা, উইন্ডোজ বলে " 'সি: \ প্রোগ্রাম' খুঁজে পাচ্ছি না।। দয়া করে নিশ্চিত করুন এটা টাইপ সঠিকভাবে হয়
yiwei

উত্তর:


136

ব্যাচ ফাইলটি STARTউভয় প্রোগ্রামে সংশোধন করুন START, একটিকে CALLইনগ্রেড করার পরিবর্তে এবং অন্যটিতে আইএনএন তৈরির পরিবর্তে

start C:\Users\Yiwei\Downloads\putty.exe -load "MathCS-labMachine1"
start "" "C:\Program Files (x86)\Xming\Xming.exe" :0 -clipboard -multiwindow

আপনি যদি এটিকে চালনা করেন তবে প্রোগ্রামটি শুরু করার পরে কোনও সিএমডি উইন্ডো খোলা থাকবে না।


29
+1 যখন আপনি পাথের জন্য ডাবল উদ্ধৃতি ব্যবহার করবেন তখন আপনাকে ""শিরোনামের প্রয়োজনীয়তার সাথে প্রথম পরামিতি যুক্ত করতে হবে। দ্বিতীয় কমান্ড হওয়া উচিত start "" "C:\Program Files (x86)\Xming\Xming.exe" :0 -clipboard -multiwindowঅন্যথায় এটি প্যারামিটারগুলি দিয়ে C:\Program Files (x86)\Xming\Xming.exeকার্যকর করার চেষ্টা করা শিরোনামের একটি কমান্ড উইন্ডো খোলার চেষ্টা করবে:0-clipboard -multiwindow
প্যাট্রিক মেইনেক

এছাড়াও, এই start /B "GCFScape" "x64\GCFScape.exe">nulউদাহরণটি আমার জন্য সহায়ক ছিল
xacinay

4
"যদি কমান্ডটি একটি অভ্যন্তরীণ সেন্টিমিডি কমান্ড বা একটি ব্যাচ ফাইল হয় তবে কমান্ড প্রসেসরটি / কে সুইচ দিয়ে সেমিডি.এক্সইতে চালিত হয় This এর অর্থ হ'ল উইন্ডোটি কমান্ডটি চালানোর পরে থাকবে" " ss64.com/nt/start.html
CAD

4
@ ক্যাডব্লোক আপনার উল্লিখিত সমস্যাটি সমাধান করে সমাধান করা যেতে পারেcmd.exe /C "start cmd.exe /C [...].bat ..."
থর্স্টেন শ্যাচিং

4
@ প্যাট্রিক-মাইনেক "" "সম্পর্কে মন্তব্য যুক্ত করার জন্য ধন্যবাদ, আমি হতাশ হয়েছি যে এটি আমাকে সমস্যা তৈরি করছে। আমি আপনাকে মন্তব্য পড়তে এবং একটি আহ হা মুহুর্ত আগত।
মাইকেল

21

আপনি সাধারণত একটি লাইনের সাথে একটি ব্যাচ ফাইল শেষ করেন যা কেবল বলে exit। আপনি যদি ফাইলটি চালিত হয়েছে এবং ডস উইন্ডোটি 2 সেকেন্ড পরে বন্ধ হয়ে গেছে তা নিশ্চিত করতে চান, আপনি লাইনগুলি যুক্ত করতে পারেন:

timeout 2 >nul
exit

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

সমাধান: উদাহরণস্বরূপ বিজিআইএনফো নামে একটি দুর্দান্ত ছোট্ট ফ্রি প্রোগ্রাম রয়েছে যা আপনার কম্পিউটারের সমস্ত তথ্য প্রদর্শন করবে। ধরে নেওয়া যায় যে এটি বলা ডিরেক্টরিতে C:\BgInfoএটি /popupস্যুইচ সহ একটি ব্যাচ ফাইল থেকে চালানো এবং ডস উইন্ডোটি চলমান অবস্থায় বন্ধ করার জন্য, ব্যবহার করুন:

start "" "C:\BgInfo\BgInfo.exe" /popup
exit

থাকার /popupআসলে আমাকে একটি ত্রুটি দান করা হয়। এটি সরানোর পরে সমস্ত কাজ করেছে
দিমিত্রি এফিমেনকো

5

আপনি যদি প্রতিটি ফাইলকে কমান্ড পৃথক করতে চান তবে আপনি এটি করতে পারেন

cmd /c start C:\Users\Yiwei\Downloads\putty.exe -load "MathCS-labMachine1"

এবং অন্য ফাইলটিতে, আপনি এটি করতে পারেন

cmd /c start "" "C:\Program Files (x86)\Xming\Xming.exe" :0 -clipboard -multiwindow

এক্সিম চালানোর পরে কমান্ড-প্রম্পট উইন্ডোটি বন্ধ করবে সিএমডি / সি কমান্ড


3

এটি আমার পক্ষে কাজ করেছে। আমি কেবল গেমটি থেকে বেরিয়ে আসার পরে কমান্ড উইন্ডোটি স্বয়ংক্রিয়ভাবে বন্ধ করতে চেয়েছিলাম। আমি আমার ডেস্কটপে .bat ফাইলটিতে কেবল ডাবল ক্লিক করব। কোনও শর্টকাট নেই।

taskkill /f /IM explorer.exe
C:\"GOG Games"\Starcraft\Starcraft.exe
start explorer.exe
exit /B

1

আমার এটি ছিল, আমি যুক্ত করেছি EXITএবং প্রাথমিকভাবে এটি কার্যকর হয়নি, আমি অনুমান করি যে called program exitingএখানে অন্য প্রতিক্রিয়াতে উল্লিখিত পরামর্শের প্রয়োজন হয়েছে, তবে এটি এখন আরও অদৃশ্য ছাড়াই কাজ করে - এটি কী কারণে ঘটেছে তা নিশ্চিত নয়, তবে লক্ষ্য করার বিষয়টি হ'ল আমি একটি ডাটা ফাইল কলিং .htmlবদলে প্রোগ্রাম যা হ্যান্ডলগুলি এটা browser.exe, আমি অন্য না সম্পাদন করা কিছু করেনি কিন্তু তা অনেক neater কেবলমাত্র সেই ওয়েব নথি প্রধান এক্সেস পৃষ্ঠাগুলি অ্যাক্সেস করতে একটি ব্যাট ফাইল ব্যবহার করে এবং শুধুমাত্র থাকার বলতে চলা title.bat, contents.bat,index.bat রুট ফোল্ডারে সাবফোল্ডারের বাকী বিষয়বস্তু সহ।

অর্থাত: কন্টেন্টস.বাট পড়ে

cd subfolder
"contents.html"
exit

আমি যদি কেবল সেই আইটেমগুলিতে সেগুলির প্রেক্ষাপটের সাথে সামঞ্জস্য রাখি তবে ব্যাট ফাইল আইকনগুলি পরিবর্তন করি তবে এটি আরও একটি বিষয়, সাবফোল্ডারে ব্যাট ফাইলগুলি লুকিয়ে রাখা এবং চিত্রগুলির সাথে মূল ফোল্ডারে তাদের কাছে কাস্টম আইকন শর্টকাট তৈরি করা কাস্টমাইজেশন এছাড়াও লুকানো জন্য বলা।


1

আপনি কিছুটা বিপজ্জনক চেষ্টা করতে পারেন: taskkill /IM cmd.exe .. বিসিজেড যে খোলা এবং যে কোনও সেন্টিমিডি এর আগে খোলা সেটিকে মেরে ফেলবে।

অথবা আপনার কাছে সিএমডি.এক্স.এম.ই রয়েছে তা নিশ্চিত করার জন্য একটি যাচাইকরণ যুক্ত করুন এবং তারপরে এটি পিআইডি এর মাধ্যমে হত্যা করুন:

set loc=%time%%random%
title=%loc%
for /f "tokens=2 delims= " %%A in ('tasklist /v ^| findstr /i "%loc%"') do (taskkill /PID %%A) 

সাবস্টিটিউট (pslist &&A)বা (tasklist /FI "PID eq %%A")জন্য (taskkill /PID %%A)আপনাকে প্রথমে এটি চেক করতে চান করেন (এবং হয়ত pstools ইনস্টল করা আছে)।


0

/sনীচে তালিকাবদ্ধ হিসাবে চেষ্টা করুন ।

ব্যাচ ফাইলের সর্বশেষ লাইন হিসাবে:

exit /s

উপরের কমান্ডটি উইন্ডোজ সিএমডি উইন্ডোটি বন্ধ করবে।

/s - নিঃশব্দ হিসাবে দাঁড়িয়ে (এটি কীবোর্ড থেকে একটি ইনপুট জন্য অপেক্ষা করবে)।


4
cmdএর প্রস্থান কমান্ডের একটি /sস্যুইচ নেই (এবং এটি যাইহোক অর্থহীন হবে)
স্টিফান

-1

এক্সিকিউশন কোডের শেষে এই কোডটি যুক্ত করুন

সি: \ উইন্ডোজ> প্রস্থান করুন


4
আপনি প্রশ্নের শেষ বাক্যটি পড়েছেন ?:I've tried adding exit to the last line of the batch file, but to no avail.
স্টিফান

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