সক্রিয় ব্যবহারকারীর সাথে মিথস্ক্রিয়া না করে আমি কীভাবে পটভূমিতে উইন্ডোজ কমান্ড লাইনটি কার্যকর করতে পারি?
সক্রিয় ব্যবহারকারীর সাথে মিথস্ক্রিয়া না করে আমি কীভাবে পটভূমিতে উইন্ডোজ কমান্ড লাইনটি কার্যকর করতে পারি?
উত্তর:
আপনার প্রশ্নটি বেশ অস্পষ্ট, তবে সার্ভারফল্টে একটি পোস্ট রয়েছে যাতে আপনার প্রয়োজনীয় তথ্য থাকতে পারে। সেখানে উত্তরটি ব্যাচের ফাইল উইন্ডোটি কীভাবে লুকানো রয়েছে তা বর্ণনা করে:
পরিবর্তে উইন্ডোজ স্ক্রিপ্ট ফাইলটি ব্যবহার করে আপনি এটি নীরবে চালাতে পারেন। রান পদ্ধতিটি আপনাকে অদৃশ্য মোডে স্ক্রিপ্ট চালানোর অনুমতি দেয়।
.vbsএই মত একটি ফাইল তৈরি করুনDim WinScriptHost Set WinScriptHost = CreateObject("WScript.Shell") WinScriptHost.Run Chr(34) & "C:\Scheduled Jobs\mybat.bat" & Chr(34), 0 Set WinScriptHost = Nothingএবং সময়সূচী। এই উদাহরণে দ্বিতীয় যুক্তি উইন্ডো শৈলী সেট করে। 0 এর অর্থ "উইন্ডোটি আড়াল করুন"।
এটি কিছুটা দেরি হয়ে গেছে তবে আমি নিজেই উত্তরটি অনুসন্ধান করতে গিয়ে এই প্রশ্নটি ছড়িয়ে দিয়েছি এবং এটি আমি পেয়েছি:
START /B program
উইন্ডোজে লিনাক্স কমান্ডের সবচেয়ে কাছাকাছি যা:
program &
কনসোল সহায়তা সিস্টেম থেকে:
C:\>HELP START
Starts a separate window to run a specified program or command.
START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
[/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
[/NODE <NUMA node>] [/AFFINITY <hex affinity mask>] [/WAIT] [/B]
[command/program] [parameters]
"title" Title to display in window title bar.
path Starting directory.
B Start application without creating a new window. The
application has ^C handling ignored. Unless the application
enables ^C processing, ^Break is the only way to interrupt
the application.
এটির সাথে একটি সমস্যা আমি দেখেছি হ'ল আপনার কনসোল উইন্ডোতে একাধিক প্রোগ্রাম লেখা রয়েছে, এটি কিছুটা বিভ্রান্ত হয়ে পড়ে এবং ঝাঁপিয়ে পড়ে।
এটি ব্যবহারকারীর সাথে ইন্টারঅ্যাক্ট না করার জন্য, আপনি আউটপুটটিকে কোনও ফাইলে পুনর্নির্দেশ করতে পারেন:
START /B program > somefile.txt
start /B "" programতবে এটি কাজ করে ...
আপনার অভিব্যক্তিটি আমি সন্দেহ করি: ব্যাকগ্রাউন্ডে কিছু চালাও এবং চালু হওয়া প্রোগ্রামটি চালিয়ে যাওয়ার সাথে সাথে কমান্ড লাইনটি তত্ক্ষণাত ফিরিয়ে আন।
START "" program
যা ইউনিক্স সমতুল্য
program &
start? এটি ছাড়া এটি কাজ করে না (কেবলমাত্র একটি নতুন কমান্ড উদাহরণ কার্যকর করে), তবে startএর সাহায্য এ সম্পর্কে কিছুই বলতে পারে না, এতে বলা হয়েছে যে সমস্ত পরামিতি অপ্টিনোনাল (বা আমি এটি বুঝতে পারি না)।
startআমার জন্য খালি প্যারামিটার ছাড়াই কাজ করে, তবে আমি যখন শূন্য প্যারামিটারটি ব্যবহার করি তখন একটি আলাদা কনফিগারেশন সহ আমি শেলগুলি পাই বলে মনে করি, যখন আমি যখন খালি প্যারামিটার না রাখি তখন আমি ব্যবহার করেছিলাম খালি প্যারামিটার আমি ভাবছি কেন তারা আলাদা কনফিগারেশন ব্যবহার করে?
START "" programআমার জন্য একটি নতুন টার্মিনালে একটি কমান্ড শুরু করে, যখন program &ইউনিক্সে কমান্ড চালায় এবং একই টার্মিনালে আউটপুট প্রিন্ট করে।
START /MIN program
উপরের একটি এর ইউনিক্স অংশটির সাথে খুব কাছাকাছি program &
আপনি এটি ব্যবহার করতে পারেন (মন্তব্য করেছেন!) পাওয়ারশেল স্ক্রিপ্ট:
# Create the .NET objects
$psi = New-Object System.Diagnostics.ProcessStartInfo
$newproc = New-Object System.Diagnostics.Process
# Basic stuff, process name and arguments
$psi.FileName = $args[0]
$psi.Arguments = $args[1]
# Hide any window it might try to create
$psi.CreateNoWindow = $true
$psi.WindowStyle = 'Hidden'
# Set up and start the process
$newproc.StartInfo = $psi
$newproc.Start()
# Return the process object to the caller
$newproc
.ps1ফাইল হিসাবে এটি সংরক্ষণ করুন। স্ক্রিপ্ট এক্সিকিউশন সক্ষম করার পরে ( পাওয়ারশেল ট্যাগ উইকিতে স্ক্রিপ্টগুলি সক্ষম করে দেখুন ), আপনি এটি এক বা দুটি স্ট্রিং পাস করতে পারবেন: এক্সিকিউটেবলের নাম এবং allyচ্ছিকভাবে আর্গুমেন্ট লাইন। উদাহরণ স্বরূপ:
.\hideproc.ps1 'sc' 'stop SomeService'
আমি নিশ্চিত হয়েছি যে এটি উইন্ডোজ 10 এ কাজ করে।
এইভাবে আমার পিএইচপি অভ্যন্তরীণ সার্ভারটি পটভূমিতে যায়। সুতরাং প্রযুক্তিগতভাবে এটি সবার জন্য কাজ করা উচিত।
start /B "" php -S 0.0.0.0:8000 &
ধন্যবাদ
আপনি যদি কমান্ড-লাইন প্রোগ্রামটি ব্যবহারকারীদের সম্পর্কে না জেনে চালাতে চান তবে এটি একটি উইন্ডোজ পরিষেবা হিসাবে সংজ্ঞায়িত করুন এবং এটি একটি সময়সূচী চলবে।
schtasksউইন্ডোজ এক্সপি এবং উপরের কমান্ডটি ব্যবহার করতে (সতর্কতা: schtasksজটিল)।
2 টি উদাহরণ সহ একটি সম্পর্কিত উত্তর:
START / B "আমার ক্যালক" "ক্যালক.এক্সে" কল করুন
কল করুন START / MIN "আমার মঙ্গদ" "% প্রোগ্রাম ফাইল%% মঙ্গোডিবি \ সার্ভার \ 3.4 \ বিন \ মোংড.এক্সে"
call Start /MIN "c" "calc.exe"
SW_*করার CreateProcessWমাধ্যমে STARTUPINFO::wShowWindow(তত্সহ SW_HIDE)।
আপনি এই লিঙ্কটিতে এটি করার সঠিক উপায়টি দেখতে পারেন:
কমান্ড উইন্ডো প্রদর্শিত না হয়ে শিড্যুল্ড টাস্কটি কীভাবে চালানো যায়
সংক্ষেপে, আপনাকে 'ব্যবহারকারী লগ ইন আছে কিনা তা চালানোর জন্য' চেকবক্স করতে হবে। 'ওকে' চাপার পরে টাস্ক ব্যবহারকারীর শংসাপত্রগুলি প্রবেশ করানো উচিত।
পাওয়ার শেলটি ব্যবহার করে, এই থ্রেড উইন্ডোজ across জুড়ে এসেছে, পটভূমিতে এক্সিকিউটেবলের চালায়, ইউনিক্স ফাইলের নাম হিসাবে ঠিক একই রকম &
উদাহরণস্বরূপ: NoNewWindow ফাইলের নাম শুরু করুন
সাহায্য শুরু করুন
NAME শুরু-প্রক্রিয়া
সাইনট্যাক্স স্টার্ট-প্রক্রিয়া [-ফিলিপথ] [[-আরর্গমেন্টলিস্ট]] [-প্রেসিডেন্সিয়াল] [-ওয়ার্কিং ডাইরেক্টরি] [-লয়েড ইউজারপ্রাইফিলি] [-নোনইউ উইন্ডো] [-প্রেসট্রু] [-রেক্টরেক্টস স্ট্যান্ডার্ডইর্ডার] -রেক্টর্ট [স্ট্যান্ডার্ডআউটপুট] [-WindowStyle {সাধারণ | লুকানো | ন্যূনতম | ম্যাক্সিমাইজড}] [-উসউইউইউভায়রনমেন্ট] []
Start-Process [-FilePath] <string> [[-ArgumentList] <string[]>] [-WorkingDirectory <string>] [-PassThru] [-Verb
<string>] [-Wait] [-WindowStyle <ProcessWindowStyle> {Normal | Hidden | Minimized | Maximized}]
[<CommonParameters>]
এলিয়াসস নিরাপদ শুরু হয়