বিএটি ফাইল: নতুন সিএমডি উইন্ডোটি খুলুন এবং সেখানে একটি কমান্ড কার্যকর করুন


163

আমি BAT ফাইলে একটি নতুন কমান্ড উইন্ডো খোলার চেষ্টা করছি:

start %windir%\system32\cmd.exe

এটি খোলার পরে, আমি নতুন উইন্ডোতে একটি BAT কমান্ড কার্যকর করতে চাই:

echo "test in new window"

কিভাবে আমি এটি করতে পারব?

উত্তর:


263

আপনি ইতিমধ্যে আপনার উত্তরটি খুঁজে পেতে পারেন কারণ এটি জিজ্ঞাসা করার কিছু সময় আগে। রর কোডিংয়ের সময় আমি অনুরূপ কিছু করার চেষ্টা করেছি। আমি একটি নতুন সিএমডি উইন্ডোতে "রেলস সার্ভার" চালাতে চেয়েছিলাম যাতে আমাকে নতুন সেন্টিমিডি খুলতে হবে না এবং তারপরে আমার পথটি আবার খুঁজে পাবে।

আমি যা জানতে পেরেছি তা হ'ল কে সুইচটি ব্যবহার করা:

start cmd /k echo Hello, World!

"সেন্টিমিডি" নতুন উইন্ডোটিতে অ্যাপ্লিকেশনটি খোলার আগেই শুরু করুন এবং "/ কে" "ইকো হ্যালো, ওয়ার্ল্ড!" কার্যকর করবে নতুন সেন্টিমিডি আপ পরে।

অনুরূপ কোনও কিছুর জন্য আপনি / সি স্যুইচও ব্যবহার করতে পারেন।

start cmd /C pause

এর পরে "বিরতি" কার্যকর করা হবে তবে কমান্ডটি শেষ হয়ে গেলে উইন্ডোটি বন্ধ করে দিন। এই ক্ষেত্রে আপনি একটি বোতাম টিপানোর পরে। আমি "রেল সার্ভার" এর জন্য এটি দরকারী বলে খুঁজে পেয়েছি, তারপরে আমি যখন আমার ডেভ সার্ভারটি বন্ধ করি তখন আমাকে উইন্ডোটি পরে বন্ধ করতে হবে না।


2
আপনি যদি রেল সার্ভার চালানোর জন্য এটি ব্যবহার করে থাকেন তবে আপনাকে আসলে টাইপ করার দরকার নেই cmd। আপনি শুধু টাইপ করতে পারেন start rails s
fbonetti

86

আপনার ব্যাচ ফাইলে নিম্নলিখিতটি ব্যবহার করুন:

start cmd.exe /k "more-batch-commands-here"

অথবা

start cmd.exe /c "more-batch-commands-here"

/ c স্ট্রিং দ্বারা নির্দিষ্ট কমান্ড বহন করে এবং তারপরে
/ k টার্মিনেট করে স্ট্রিং দ্বারা নির্দিষ্ট কমান্ডটি বহন করে কিন্তু অবশিষ্ট থাকে

cmd /?আরও বিশদ ব্যবহার করে cmd.exe ডকুমেন্টেশনের পরামর্শ নিন ।

কমান্ড স্ট্রিংয়ের যথাযথ গঠনটি আর্গুমেন্টের ফাঁকে ফাঁকে কিছুটা জটিল হয়ে যায়। নীচে উদাহরণ দেখুন। কয়েকটি উদাহরণে নেস্টেড ডাবল কোটসের ব্যবহারটি নোট করুন।

উদাহরণ:

একটি প্রোগ্রাম চালান এবং একটি ফাইল নাম পরামিতি পাস:
CMD /c write.exe c:\docs\sample.txt

একটি প্রোগ্রাম চালান এবং একটি দীর্ঘ ফাইলের নাম পাস:
CMD /c write.exe "c:\sample documents\sample.txt"

প্রোগ্রামের পথে ফাঁকা স্থান:
CMD /c ""c:\Program Files\Microsoft Office\Office\Winword.exe""

প্রোগ্রামের পথ + পরামিতিগুলির ফাঁকা স্থান:
CMD /c ""c:\Program Files\demo.cmd"" Parameter1 Param2
CMD /k ""c:\batch files\demo.cmd" "Parameter 1 with space" "Parameter2 with space""

ডেমো 1 এবং ডেমো 2 চালু করুন:
CMD /c ""c:\Program Files\demo1.cmd" & "c:\Program Files\demo2.cmd""

সূত্র: http://ss64.com/nt/cmd.html


13

এটি খুব সহজ নয়।

আপনার স্ক্রিপ্টের যে অংশটি আপনি একটি "নতুন উইন্ডোতে" চালিত করতে চান তা পৃথক .bat ফাইলের মধ্যে থাকা সবচেয়ে ভাল উপায়। এটি অযৌক্তিক হতে পারে যদি উদাহরণস্বরূপ আপনার বাকী স্ক্রিপ্ট (ভেরিয়েবল, ইত্যাদি) থেকে আপনার প্রচুর রাজ্যের প্রয়োজন হয়। একটি বিকল্প হ'ল ব্যাচ ফাইলে আপনার প্রয়োজনীয় মানগুলি (উদাহরণস্বরূপ অপারেশন করার জন্য ডায়ার) পাস করা:

start cmd.exe stuff.bat %this_dir%

আপনার কাছে যদি প্রেরণের মতো বিশাল পরিমাণের রাজ্য থাকে তবে আপনি রানটাইমে একটি ব্যাচ ফাইল তৈরির বিষয়টি বিবেচনা করতে পারেন:

set foo=Hello, World
set list_me=%userprofile%

set tmpdir=c:\windows\temp
set tmp=%tmpdir%\tmp.foo

del /q /f "%tmp%"

echo.echo %foo%>>"%tmp%"
echo.dir "%list_me%">>>"%tmp"

start cmd.exe "%tmp%"

del /q /f "%tmp%"

স্পষ্টতই এটি একটি তুচ্ছ উদাহরণ।


11

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

মোঙ্গো আমার পথে বিশ্বব্যাপী যুক্ত হয়েছে, সুতরাং আমি অন্য দুটি প্রোগ্রামের মতো সিডি করার দরকার নেই। অবশ্যই আপনার ফাইলগুলির পথ পৃথক হবে তবে আশা করি এটি সাহায্য করবে।

:: Start MongoDB
start cmd.exe /k "mongod"

:: cd app directory, and start it
cd my-app
start cmd.exe /k "npm run dev"

:: cd to api server, and start that
cd ../my-app-api
start cmd.exe /k "npm run dev"

7

স্ট্যাক ওভারফ্লোতে এখানে সকলকে ধন্যবাদ; এই সমাধানটি উপরের প্রশ্নটি সমাধান করে তবে এই কাজগুলি স্বয়ংক্রিয়ভাবে চালানোর জন্য বাড়ানো হয়েছে:

  1. আমি আমার রেল সার্ভার চালাতে চাই
  2. একটি রেক কাজ চালান : আমার দেরি_জব রত্নের জন্যও কর্মী
  3. এবং আমার পৃষ্ঠাটি দেখানোর জন্য ডিফল্ট ইন্টারনেট ব্রাউজার খুলুন
  4. অবশেষে, আমার অধিবেশন চলাকালীন কোনও অতিরিক্ত কমান্ডের জন্য একটি সেন্টিমিডি উইন্ডো খোলা রেখে

আমার ধারণা আমার প্রকল্পটিকে বলা হয় "অ্যান্টিকোরাম"।

আপনার % USERPROFILE% ডিরেক্টরিতে একটি "init.bat" ফাইল তৈরি করুন (একটি cmd উইন্ডোটি খুলুন এবং% USERPROFILE% কী তা জানতে কার্সারের বাম দিকে যাওয়ার পথটি দেখুন)

@echo off
cd C:/projects/rails3/antiquorum
if "%1" == "antiquorum" GOTO start
if "%1" == "worker" GOTO worker
if "%1" == "server" GOTO server
if "%1" == "" GOTO end
:start
    start cmd /k %USERPROFILE%\init.bat worker
    start cmd /k %USERPROFILE%\init.bat server
    TIMEOUT 30
    start "" "http://localhost:3000/"
    GOTO end
:server
    rails s
    GOTO end
:worker
    rake jobs:work
:end

একটি নতুন কমান্ড লাইনের উইন্ডোতে টাইপ করুন: সি:> আর্ট অ্যান্টিকোরাম

কোডটি আরও দুটি সেন্টিমিটার উইন্ডো এবং একটি ব্রাউজার খোলে। TIMEOUT ব্রাউজারে ত্রুটিগুলি এড়ায়

ঃ কি শুরু অধ্যায় কাজ করে। আপনি "অ্যান্টিকোরিয়াম" প্রকল্পের মূলের মধ্যে খোলা কোনও সার্ভার , কর্মী বা কোনও সেন্টিমিডি ছাড়ার জন্য প্যারামগুলি টাইপ করে আলাদাভাবে 1,2 বা 4 টি কাজ পরিচালনা করতে পারেন ।

উপভোগ করুন।


2

যদি আমি বুঝতে পারি যে আপনি সঠিকভাবে পাশের দিকে এটি করছেন আপনার ব্যাট ফাইলটি কমান্ড প্রম্পটটি খুলবে এবং আপনার বার্তাটি স্ক্রিনে মুদ্রণ করবে।

cmd.exe hello world

আশাকরি এটা সাহায্য করবে.


2

ফাইলের নাম ফাঁকা করে একটি নতুন সিএমডি উইন্ডোতে পাইথন ফাইল চালাতে:

start cmd.exe /k python "C:\Program Files\HelloWorld.py"

0

দুটি কমান্ডের মধ্যে যোগ করা উভয় কমান্ড কার্যকর করে/k in order

উদাহরণ:

cmd /k echo "hello"

এই কমান্ডটি প্রথমে কমান্ড command promptএক্সিকিউট করার পরে খুলবেecho "hello"

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