উইন্ডোজ সিএমডি ব্যাচ, START এবং আউটপুট পুনঃনির্দেশ


34

আমি ব্যাচ ফাইল থেকে একই সাথে দুটি প্রোগ্রাম চালাতে চাই এবং প্রথম প্রোগ্রামের আউটপুটটিকে একটি টেক্সট ফাইলে পুনর্নির্দেশ করতে চাই:

start python 1st.py arg1 arg2 > out.txt
start 2nd.exe %1 arg2 arg3

প্রোগ্রামগুলি প্রত্যাশা অনুযায়ী চলাকালীন, সমস্ত আউটপুট stdout এ প্রদর্শিত হবে।


এটি কাজ করা উচিত। কিছু না জেনে, আমি আশ্চর্য হই যে 1st.py আউটপুট সহ মজার কিছু করছে কিনা।
— zpletan

না, তবে এটি স্ট্যাডারকে লিখেছে।
— কেউ

এজন্যই কেবল স্টডআউটকে >পুনঃনির্দেশ করে (আমার মনে হয়)। যাই হোক না কেন, দেখে মনে হচ্ছে আপনার যা প্রয়োজন তা ইতিমধ্যে আপনার কাছে রয়েছে।
— zpletan

উত্তর:


35

আপনার এটি এইভাবে করার প্রয়োজন হতে পারে:

start cmd /c python 1st.py arg1 arg2 ^> out.txt

আপনাকে ধন্যবাদ, কিন্তু এটা আমার জন্য কাজ করে না (out.txt এমনকি স্থানীয় ডিরেক্টরির মধ্যে নির্মিত হয় না)
— কেউ

আমি এটি সিএসক্রিপ্ট এবং একটি ভিবিস্ক্রিপ্ট দিয়ে পরীক্ষা করেছি তাই ধারণাটি দুর্দান্ত। আপনি কি আপনার কমান্ড লাইনে এমন কিছু "অতিরিক্ত" করছেন যা এখানে তালিকাভুক্ত নয়, ডাবল কোটের মতো?
— প্যাট্রিক সিমুর

দুঃখিত, কিছু মারাত্মক ভুল হয়েছে - এটি কার্যকর!
— কেউ

@ পেট্রিক সিমুর, আপনার উত্তরের জন্য আপনাকে ধন্যবাদ! .Bat ফাইল ছাড়া আমি কীভাবে একই জিনিস করতে পারি? এটি সেমিডিডি থেকে কাজ করে না: পাইথন.এক্সে ^> পাইথন_আউট.টেক্সট । আমার একটি ত্রুটি হয়েছিল: পাইথন.এক্সি: ফাইল '>' খুলতে পারে না: [ত্রুটি 22] অবৈধ যুক্তি ।
— নিও

7

পুনর্নির্দেশটি startকমান্ডটিতে প্রয়োগ করা হয় , তবে কোনওভাবেই cmd.exeএটি চালায় না এমন পরিস্থিতিতে।

যদি >অপারেটরটি পালিয়ে যায় তবে সবকিছুই কাজ করা উচিত:

start 1st.py arg1 arg2 ^> out.txt

(আপনি যদি স্ট্যাডারকেও পুনঃনির্দেশ করতে চান তবে এর জন্য ব্যবহার করুন 2^>))


4
আপনাকে ধন্যবাদ, তবে এটি আমার পক্ষে কার্যকর হয় না।
— কেউ

5

অতিরিক্ত হিসাবে, আপনি যদি stderr এবং stdout উভয়ই পুনর্নির্দেশ করতে চান তবে এটি আমার জন্য কাজ করে

কল বিলম্ব করুন bat 1 ^> log.txt xt 2 ^> ^ & ^ 1 কল করুন

দেখে মনে হচ্ছে প্রতিটি চরিত্রই মূলত পালাতে হবে। এই কমান্ডটি সাধারণত এটির মতো দেখায়:

delay.bat 1> log.txt 2> & 1


5

আমার জন্য কৌতুকটি কী আদেশটি একটি পৃথক ব্যাচের ফাইলে স্থানান্তরিত করছিল:

rem this first batch file triggers the second one:
start the_second.bat arg1 arg2 out.txt

the_second.bat এর পরে এটির মতো দেখাচ্ছে:

python 1st.py %1 %2 > %3

সঠিক উত্তরের তুলনায় এটি একটি খুব অকার্যকর কাজ।
— ডেভিডপস্টিল

2
"সঠিক উত্তর" আমার জন্য একটি অবিস্মরণীয় সমস্যা নিয়ে কাজ করে নি এবং আমি ভেবেছিলাম এটি একটি সমাধান হতে পারে লোকেরা কমপক্ষে এটি জানতে চাইতে পারে।
— ফ্লোরিয়ান স্ট্রাব

আমার দ্বিমত আছে কমান্ডের অক্ষরগুলি থেকে বাঁচার সঠিক উপায় শেখা একটি আরও ভাল ধারণা।
— ডেভিডপস্টিল

অনুগ্রহ করে আমাকে কীভাবে >> ব্যবহার করে আউটপুট সংযুক্ত করে এড়াতে হবে তা শিখিয়ে দিন।
— ফ্লোরিয়ান স্ট্রাব

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