উইন্ডোজ পাওয়ারশেল চালানোর জন্য ব্যাচ তৈরি করা, তারপরে এটি কিছু পাঠ্য চালাও


3

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

এখনও অবধি আমার কাছে নিম্নলিখিতটি রয়েছে। Powershell.exe -noexit -command "cd 'c:\Dev\ProductDev'"এটি পাওয়ারশেলকে সঠিক জায়গায় খোলার জন্য কাজ করছে বলে মনে হচ্ছে, তবে আমি কমান্ডটি চালাতে পারি না node sp

আমি কোনও সাফল্য না দিয়ে নিম্নলিখিতগুলি চেষ্টা করেছি PowerShell -NoExit -Command "Write-Host 'node sp'"

এছাড়াও, এটি কি সিএমডি (কালো / সাদা) উইন্ডোর পরিবর্তে নীল ডিসপ্লে স্ক্রিনে উইন্ডোজ পাওয়ারশেলটি খোলা সম্ভব?


1
আমি নিশ্চিত নই আপনি কেন পাওয়ার স্কেলে স্ক্রিপ্টটি লিখবেন না?
ইবিগ্রিন

@ ইবিগ্রিন ব্যাখ্যা করবেন? দুঃখিত, আমি সাধারণভাবে স্ক্রিপ্ট লিখতে নতুন।
অস্টিন

আমি যা করার চেষ্টা করছি তা হ'ল আমার জন্য কিছু চালানোর জন্য একটি শর্টকাট বা দু'টি তৈরি করা, তবে সেগুলি সিএমডি না করে পাওয়ারশেলের পর্দায় দেখতে / দেখতে চাই to
অস্টিন

3
যদি আমি বুঝতে পারি, এই মুহুর্তে আপনি কোনও প্রকারের (সম্ভবত নোটপ্যাড) সম্পাদকের একটি ফাইল খুলছেন এবং আপনি সম্ভবত প্রতি লাইনে একটি ব্যাচ কমান্ড টাইপ করছেন তারপরে একটি .bat এক্সটেনশন দিয়ে ফাইলটি সংরক্ষণ করছেন। এইভাবে একটি ব্যাচ ফাইল তৈরি। পাওয়ারশেল একটি স্ক্রিপ্টিং ভাষাও (এবং ব্যাচের চেয়ে বহুমুখী)। আপনি খুব অনুরূপ কিছু করতে হবে। কোনও সম্পাদককে একটি ফাইল খুলুন, পাওয়ারশেল কমান্ডগুলি টাইপ করুন এবং এটি .ps1 ফাইল হিসাবে সংরক্ষণ করুন। পাওয়ারশেল শুরু করার জন্য ইন্টারনেটে সমস্ত গাইড রয়েছে।
EBGreen

@ ইগ্রগ্রিন ওহহ যে এটি জানত না। ধন্যবাদ!
অস্টিন

উত্তর:


7

যেহেতু আপনি আপনার সম্পূর্ণ ব্যাট-ফাইল সরবরাহ করেন নি আমি অনুমান করি এটি

Powershell.exe -noexit -command "cd 'c:\Dev\ProductDev'"
PowerShell -NoExit -Command "Write-Host 'node sp'"

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

আপনার একটি পাওয়ারশেল চালানো দরকার এবং এটি উভয় কমান্ড কার্যকর করতে দিন। একটি উপায়

Powershell.exe -noexit -command "cd 'c:\Dev\ProductDev'; Write-Host 'node sp'"

আর একটি উপায় হ'ল এই সামগ্রীর সাথে মাইস্ক্রিপ্ট.পিএস 1 এর মতো পাওয়ারশেল স্ক্রিপ্ট ফাইলটি লেখা:

cd 'c:\Dev\ProductDev'
Write-Host 'node sp'

এবং পাওয়ারশেল এটি কার্যকর করার জন্য কমান্ড দিচ্ছেন না তবে সঞ্চালনের জন্য স্ক্রিপ্ট ( এটি এবং এই স্ট্যাকওভারফ্লো প্রশ্নটিও দেখুন)। আপনি হয় এই কমান্ডটি সরাসরি চালাতে পারেন বা ব্যাট ফাইলে রেখে দিতে পারেন, অথবা এটি কোনও lnk ফাইলে চালাতে কমান্ড হিসাবে ব্যবহার করতে পারেন:

PowerShell.exe -noexit -ExecutionPolicy Bypass -File "MyScript.ps1"

পাওয়ারশেলের একটি সমস্যা হ'ল প্রতি ডিফল্ট এটি স্ক্রিপ্টগুলি চালায় না যা (ক্রিপ্টোগ্রাফিকভাবে) স্বাক্ষরিত নয়। এটি সমাধানের সহজ উপায় হ'ল -ExecutionPolicy Bypassপ্যারামিটার।


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

আমি আমার উত্তরটি সামঞ্জস্য করেছি, আশা করি এটি এখন আরও পরিষ্কার। আমার উত্তরে তৃতীয় কোড ব্লকটি হ'ল নতুন স্ক্রিপ্ট ফাইল মাইস্ক্রিপ্ট.পিএস 1 এর সামগ্রী। চতুর্থ (এবং শেষ) কোড ব্লকটি এমন একটি লাইন যা আপনি সরাসরি cmd.exe এ প্রবেশ করতে পারেন বা আপনি কোনও ব্যাট ফাইল রাখতে পারেন বা একটি lnk ফাইলে কমান্ড লাইন হিসাবে ব্যবহার করতে পারেন।
ওয়ার্নার হেনজে

ঠিক আছে ভদ্র! তুমি যেমন বলেছি আমি তাই করেছি! আমি চতুর্থ লাইনটি একটি অভ্যন্তরের সাথে ব্যাটে PowerShell.exe -ExecutionPolicy Bypass -File "RunProductDev.ps1"রেখেছি, আমি যখন এটি ক্লিক করি এটি এক মুহুর্তের জন্য সিএমডি খুলে তারপর বন্ধ হয়ে যায়, তবে আমার রানপ্রোডাক্টডেভ.পিএস 1 কখনও চালানো বা খোলার মতো মনে হয় না। তারা উভয়ই এখনই আমার ডেস্কটপে বসে আছে তাই তারা একই ডিরেক্টরিতে রয়েছে। PS1 এ আমার আছেcd 'c:\Dev\ProductDev' Write-Host 'node sp'
অস্টিন

যদি এটি গুরুত্বপূর্ণ হয়ে থাকে তবে node spকমান্ডটি মূলত একটি serveঅ্যাপ্লিকেশন চালানোর জন্য একটি, সুতরাং আমি এটি থেকে বের না হওয়া অবধি এটি ক্রমাগত চলমান / দেখার কমান্ড।
অস্টিন

ডিবাগ করতে আপনি cmd.exe চালাতে পারেন এবং সেখানে আপনার টেস্ট.বাট চালাতে পারেন, যাতে আপনি আউটপুটটি দেখতে পান। পাওয়ারশেল বন্ধ হওয়ার কারণটি আমি ভুলে গেছি -noexit। আমি আমার উত্তর আপডেট করেছি যাতে এটি অন্তর্ভুক্ত থাকে।
ওয়ার্নার হেনজে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.