আমি কীভাবে পাওয়ারশেলের কোনও নতুন লাইন ছাড়াই পাঠ্য আউটপুট করব?


145

আমি চাই আমার পাওয়ারশেল স্ক্রিপ্টটি এরকম কিছু মুদ্রণ করুক:

Enabling feature XYZ......Done

স্ক্রিপ্টটি দেখতে এরকম কিছু দেখাচ্ছে:

Write-Output "Enabling feature XYZ......."
Enable-SPFeature...
Write-Output "Done"

তবে Write-Outputসর্বদা শেষে একটি নতুন লাইন প্রিন্ট করে যাতে আমার আউটপুট এক লাইনে না থাকে isn't এই কাজ করতে একটি উপায় আছে কি?


উত্তর:


165

লিখন-হোস্ট -নো নিউলাইন "XYZ বৈশিষ্ট্যটি সক্ষম করা ......."


62
ডাউনভোটড কারণ ওপির উদাহরণটি বিশেষভাবে ব্যবহার করে Write-Output, যা এর চেয়ে অনেক বেশি আলাদা ফাংশন রয়েছে Write-Host। উত্তরটি অনুলিপি / আটকানোর আগে পাঠকদের এই বড় তাত্পর্য নোট করা উচিত।
নাথানএলডেনএসআর 7:15

5
আমি @ নাথানএলডেনএসআর এর সাথে একমত, আপনি কোনও ফাইল ইত্যাদিতে আউটপুট দেওয়ার চেষ্টা করলে রাইট-হোস্ট কোনও উপকারে আসবে না
স্টিওথথথ্রেড

6
Write-Hostপ্রায় সঠিক উত্তর না। এটি >/dev/ttyইউনিক্সল্যান্ডে করার সমতুল্য ।
মার্ক রিড

2
Write-Progressকিছু ক্ষেত্রে উপযুক্ত হতে পারে, নীচের উদাহরণ দেখুন।
থমাস

12
ওভের উদাহরণটি বিশেষভাবে ব্যবহার করে বলে ডাউনভোটেড Write-OutputWrite-Outputনেই -NoNewLineপ্যারামিটার।
স্লগমিস্টার এক্সট্রাওর্ডিনায়ার

49

দুর্ভাগ্যক্রমে, বেশ কয়েকটি উত্তর এবং মন্তব্যে উল্লিখিত হিসাবে, Write-Hostবিপজ্জনক হতে পারে এবং অন্যান্য প্রক্রিয়াগুলিতে পাইপ করা যায় Write-Outputনা এবং -NoNewlineপতাকা থাকে না ।

কিন্তু পদ্ধতি "* স্নো" প্রদর্শন অগ্রগতি উপায় আছে, "PowerShell" পথ যে কাজ করতে হবে বলে মনে হয় Write-Progressনা: এটা কর্মের প্রগতি সম্পর্কে তথ্য সঙ্গে PowerShell উইন্ডোর উপরে একটি বার, PowerShell 3.0 অনওয়ার্ড থেকে পাওয়া প্রদর্শন করে, ম্যানুয়াল দেখতে জন্য বিবরণ।

# Total time to sleep
$start_sleep = 120

# Time to sleep between each notification
$sleep_iteration = 30

Write-Output ( "Sleeping {0} seconds ... " -f ($start_sleep) )
for ($i=1 ; $i -le ([int]$start_sleep/$sleep_iteration) ; $i++) {
    Start-Sleep -Seconds $sleep_iteration
    Write-Progress -CurrentOperation ("Sleep {0}s" -f ($start_sleep)) ( " {0}s ..." -f ($i*$sleep_iteration) )
}
Write-Progress -CurrentOperation ("Sleep {0}s" -f ($start_sleep)) -Completed "Done waiting for X to finish"

এবং ওপি এর উদাহরণ নিতে:

# For the file log
Write-Output "Enabling feature XYZ"

# For the operator
Write-Progress -CurrentOperation "EnablingFeatureXYZ" ( "Enabling feature XYZ ... " )

Enable-SPFeature...

# For the operator
Write-Progress -CurrentOperation "EnablingFeatureXYZ" ( "Enabling feature XYZ ... Done" )

# For the log file
Write-Output "Feature XYZ enabled"

3
আমি মনে করি এটি স্থিতি দেখানোর জন্য সেরা সমাধান। আপনার যদি কোনও লগ বা কিছু দরকার হয় তবে রাইটিং-আউটপুটটির লাইনব্রেকটি নিয়ে আপনার জীবন থাকতে পারে।
fadanner

1
সম্মত, প্লাস প্রগতিশীল প্রদর্শনের বিন্দুটি সরাসরি ইনস্টল করার জন্য "অভিনব হতে হবে", লগ ফাইলগুলিতে এটি থাকার কোনও অর্থ নেই: "কিছু করা শুরু করুন" তারপরে "কিছু করা" মুদ্রণ করুন
টমাস

13

যদিও এটি আপনার ক্ষেত্রে কাজ না করে (যেহেতু আপনি ব্যবহারকারীকে তথ্যমূলক আউটপুট সরবরাহ করছেন), একটি স্ট্রিং তৈরি করুন যা আপনি আউটপুট যুক্ত করতে ব্যবহার করতে পারেন। যখন এটি আউটপুট করার সময় হবে, কেবল স্ট্রিং আউটপুট করুন।

অবশ্যই উপেক্ষা করা এই উদাহরণটি আপনার ক্ষেত্রে নিরীহ তবে ধারণাটিতে কার্যকর:

$output = "Enabling feature XYZ......."
Enable-SPFeature...
$output += "Done"
Write-Output $output

প্রদর্শন করা হয়:

Enabling feature XYZ.......Done

1
এটি প্রদত্ত নির্দিষ্ট উদাহরণে কাজ করতে পারে, তবে এখনও একটি অতিরিক্ত লাইন ফিড উত্পাদিত রয়েছে Write-Output। যুক্তিসঙ্গতভাবে কাজ করা, তবে কোনও সমাধান নয়।
স্লগমিস্টার এক্সট্রাওর্ডিনায়ার

লিখন-আউটপুট সর্বদা শেষে একটি নতুন লাইন আউটপুট দেয়। এই সেমিডলেটটি দিয়ে এর আশেপাশে কোনও উপায় নেই
শুফ্লার

7
বৈশিষ্ট্যটি ইনস্টল হওয়ার পরে পুরো আউটপুট প্রদর্শিত হওয়ার পরে এটি পয়েন্ট নয়।
majkinetor

10
আমি বুঝতে পারছি না, কে এই প্রশ্নের 1 টিরও বেশি উত্সাহ দেয়, কারণ বৈশিষ্ট্যটি ইনস্টল হওয়ার পরে পুরো আউটপুট প্রদর্শিত হওয়ার পরে এটি পয়েন্ট নয়
ম্যাককোরিউকভ

1
"অবশ্যই উপেক্ষা করা এই উদাহরণটি আপনার ক্ষেত্রে নিরীহ তবে
ধারণাটিতে কার্যকর

6

হ্যাঁ, অন্যান্য উত্তরে যেমন লেখা আছে, এটি লিখন-আউটপুট দিয়ে করা যায় না। পাওয়ারশেল যেখানে ব্যর্থ হয়, নেট থেকে ঘুরে দেখা যায়, এখানে বেশ কয়েকটি .NET জবাব রয়েছে তবে তারা যা প্রয়োজন তা তার চেয়ে জটিল।

শুধু ব্যবহার করুন:

[Console]::Write("Enabling feature XYZ.......")
Enable-SPFeature...
Write-Output "Done"

এটি খাঁটি পাওয়ারশেল নয়, তবে এটি কার্যকর।


5
লোভযুক্ত কারণ এটি ঠিক যেমন আচরণ করে Write-Host, লোকেরা এটি আশা করে না except
জেবার্ট

4

একটি ফাইল লিখতে আপনি একটি বাইট অ্যারে ব্যবহার করতে পারেন। নিম্নলিখিত উদাহরণটি একটি খালি জিপ ফাইল তৈরি করে, যা আপনি এতে ফাইল যুক্ত করতে পারেন:

[Byte[]] $zipHeader = 80, 75, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
[System.IO.File]::WriteAllBytes("C:\My.zip", $zipHeader)

বা ব্যবহার করুন:

[Byte[]] $text = [System.Text.Encoding]::UTF8.getBytes("Enabling feature XYZ.......")
[System.IO.File]::WriteAllBytes("C:\My.zip", $text)

এটি একটি দুর্দান্ত উদাহরণ!
পিটার মর্টেনসেন

2

ফ্রাঙ্ক দ্য ব্রাভের প্রতিক্রিয়াটির সরলকরণ:

[System.IO.File]::WriteAllText("c:\temp\myFile.txt", $myContent)

এটি প্রশ্নের কোনও উত্তর দেয় না।
নাথানএলডেনএসআর

2
তবে আমি ঠিক কী অনুসন্ধান করেছি এবং প্রশ্নের শিরোনাম থেকে আমি কী প্রত্যাশা করেছি।
প্যাট্রিক রোকস

2

আমি যে সমস্যাটি আঘাত করেছি তা হ'ল রাইট-আউটপুট আসলে আউটপুটটিকে লাইন ব্রেক করে পাওয়ারশেল v2 ব্যবহার করার সময়, কমপক্ষে stdout করার জন্য। আমি সাফল্য ছাড়াই স্টাডআউটে একটি এক্সএমএল পাঠ্য লেখার চেষ্টা করছিলাম, কারণ এটি ৮০-এর চরিত্রটিতে শক্তভাবে আবৃত হবে।

কর্মক্ষেত্রটি ব্যবহার করা ছিল

[Console]::Out.Write($myVeryLongXMLTextBlobLine)

পাওয়ারশেল v3 এ এটি কোনও সমস্যা ছিল না। লিখন-আউটপুট সেখানে সঠিকভাবে কাজ করছে বলে মনে হচ্ছে।

পাওয়ারশেল স্ক্রিপ্টটি কীভাবে আহ্বান করা হয়েছে তার উপর নির্ভর করে আপনার ব্যবহারের প্রয়োজন হতে পারে

[Console]::BufferWidth =< length of string, e.g. 10000)

আপনি stdout লেখার আগে।


2
লিখিত-হোস্টের মতো আচরণ, তবে সবচেয়ে খারাপ। উদাহরণস্বরূপ আপনি এটি ফাইল করতে পাইপ করতে পারবেন না।
majkinetor

2

পাওয়ারশেলে এটি করার কোনও উপায় নেই বলে মনে হয়। পূর্ববর্তী সমস্ত উত্তর সঠিক নয়, কারণ তারা যেভাবে আচরণ করে তেমন আচরণ করে না Write-Outputতবে আরও বেশি পছন্দ করে Write-Hostযা কোনওভাবেই এই সমস্যা নেই।

ক্লোজ সমাধানটি প্যারামিটারের Write-Hostসাথে ব্যবহার করার মতো মনে হচ্ছে -NoNewLine। আপনি এটি পাইপ করতে পারবেন না যা সাধারণত সমস্যা হয় তবে এই ফাংশনটি ওভাররাইড করার একটি উপায় রয়েছে যেমন রাইট-হোস্ট => কোনও ফাইলে রফতানীতে বর্ণিত হয়েছে , যাতে আপনি সহজেই এটিকে আউটপুট ফাইলের পরামিতি গ্রহণ করতে পারেন। এটি এখনও একটি ভাল সমাধান থেকে অনেক দূরে। সঙ্গে Start-Transcriptএটি আরো উপভোগ্য, কিন্তু যে cmdlet নেটিভ অ্যাপ্লিকেশনের সাথে সমস্যা রয়েছে।

Write-Outputসাধারণ প্রসঙ্গে আপনার যা প্রয়োজন তা কেবল তা করতে পারেন না।


2

Write-Hostভয়ানক, পৃথিবীর ধ্বংসকারী, তবুও আপনি এটি ব্যবহারকারীর Write-Outputলগ-ইন করার সময় কেবল অগ্রগতি প্রদর্শনের জন্য ব্যবহার করতে পারেন (নয় যে ওপি লগিংয়ের জন্য বলেছিল)।

Write-Output "Enabling feature XYZ" | Out-File "log.txt" # Pipe to log file
Write-Host -NoNewLine "Enabling feature XYZ......."
$result = Enable-SPFeature
$result | Out-File "log.txt"
# You could try{}catch{} an exception on Enable-SPFeature depending on what it's doing
if ($result -ne $null) {
    Write-Host "complete"
} else {
    Write-Host "failed"
}

অগ্রগতি নির্দেশ করার জন্য আপনার প্রয়োজনের উপর নির্ভর করে, এছাড়াও রয়েছে Write-Progress
chwarr

1

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

তা সত্ত্বেও, আপনি যা আমি স্ট্যাক ওভারফ্লো প্রশ্ন না কিভাবে ব্যাখ্যা এটা করতে আপনার নিজের EXE ফাইলের উপর লিখতে পারেন কিভাবে PowerShell মধ্যে আউটপুট কিছু


2
ভুল তথ্য। শয় এবং জে চমৎকারভাবে উত্তর হিসাবে, কেবল প্রথম যুক্তি হিসাবে -নউইনলাইন যুক্ত করুন।
ডেভিড হটস্পট অফিসে

2
সম্ভবত এটি এখন ডেভিডহোটস্পটঅফিসের ক্ষেত্রে তবে আমি যখন সর্বশেষে একটি উইন্ডোজের বাক্সটি ছুঁয়েছি (এক বছর আগে) যা কাজ করে নি, আপনি লিখন-হোস্ট থেকে পুনঃনির্দেশ / পাইপ করতে পারবেন না। ন্যায্য বলতে আমার কাছে POSH বা .NET এর জন্য সামান্যতম ধৈর্যও ছিল না, আমি কয়েক মাস পরে ছেড়ে দিয়ে ইউনিক্স দেশে ফিরে গেলাম। মজার
সামাথবেস্ট

3
@ ডেভিডহোটস্পটঅফিস - আসলে, তিনি সঠিক। রাইট-আউটপুটটির জন্য কোনও "ননউইলাইন" যুক্তি নেই, যা মূল প্রশ্নটিই জিজ্ঞাসা করছিল। রাইট-আউটপুট ব্যবহারের জন্য কিছু ভাল কারণ রয়েছে বলে মনে হয় - সুতরাং এই উত্তরটি অর্থবোধ করে। jsnover.com/blog/2013/12/07/writ-host-considered-harmful
জেমস

ডাউনভোটেড কারণ প্রশ্ন "পাওয়ারশেলের মধ্যে" সমাধান চাইছে। বাহ্যিক EXE লেখা "ইন পাওয়ারশেল" নয়।
স্লগমিস্টার এক্সট্রাওর্ডিনায়ার

1
@ স্লগমিস্টারএক্সটোরর্ডাইনায়ার এটি পাওয়ারশেলের পক্ষে সম্ভব নয় সুতরাং আমার উত্তর যুক্তিসঙ্গত। আপনার ঠিক নিচে নামানো কারণ আপনার অত্যন্ত দুঃখজনক যে আপনাকে বিশ্বের সবচেয়ে খারাপ অপারেটিং সিস্টেমের সাথে কাজ করতে হবে যা বিশ্বের সবচেয়ে খারাপ শেল রয়েছে।
সামথিবেষ্ট

1

শুফ্লারের উত্তর সঠিক। অন্যভাবে স্থিতিযুক্ত: এআরএআর ফর্মটি ব্যবহার করে রাইট-আউটপুটটিতে মানগুলি পাস করার পরিবর্তে,

Write-Output "Parameters are:" $Year $Month $Day

বা লিখিত-আউটপুট একাধিক কল দ্বারা সমতুল্য,

Write-Output "Parameters are:"
Write-Output $Year
Write-Output $Month
Write-Output $Day
Write-Output "Done."

আপনার উপাদানগুলিকে প্রথমে একটি STRING বৈচিত্র্যগুলিতে যুক্ত করুন:

$msg="Parameters are: $Year $Month $Day"
Write-Output $msg

এটি একাধিকবার লিখন-আউটপুট কল করার কারণে মধ্যবর্তী সিআরএলএফগুলি প্রতিরোধ করবে (বা এআরএএআরএ ফর্ম), তবে অবশ্যই লিখন-আউটপুট কমান্ডলেটের চূড়ান্ত সিআরএলএফকে দমন করবে না। তার জন্য আপনাকে নিজের কমান্ডলেটটি লিখতে হবে, এখানে তালিকাভুক্ত অন্য সংশ্লেষিত ওয়ার্কারআউন্ডগুলির একটি ব্যবহার করতে হবে, বা মাইক্রোসফ্ট -NoNewlineলিখন-আউটপুটের বিকল্পটি সমর্থন করার সিদ্ধান্ত না নেওয়া পর্যন্ত অপেক্ষা করতে হবে ।

লগ ফাইলটিতে লেখার বিপরীতে কনসোলকে (যেমন "....") একটি পাঠ্যগত অগ্রগতি মিটার সরবরাহ করার আপনার ইচ্ছাটিও লিখিত-হোস্ট ব্যবহার করে সন্তুষ্ট হওয়া উচিত। লগ লিখতে এবং কনসোলের অগ্রগতি রচনা-হোস্ট ব্যবহার করে লিখতে পাঠ্যকে একটি ভেরিয়েবলের মধ্যে সংগ্রহ করে উভয় অর্জন করতে পারেন। এই কার্যকারিতাটি আপনার নিজের কমান্ডলেটে সবচেয়ে বড় কোড পুনরায় ব্যবহারের জন্য একত্রিত করা যেতে পারে।


আমি এই উত্তরটি অন্যদের চেয়ে বেশি পছন্দ করি। আপনি বস্তুর বৈশিষ্ট্যাবলী আহ্বান করছি, তাহলে আপনি উদ্ধৃতির মধ্যে ঘিরা না পারেন, তাই আমি ব্যবহৃত: লেখা-আউটপুট ($ বার্তা = $ MyObject.property + + "কিছু টেক্সট আমি অন্তর্ভুক্ত করতে চান," + $ Object.property)
লুইস

2
@ লুইস আপনি অবশ্যই স্ট্রিংয়ের ভিতরে অবজেক্টের বৈশিষ্ট্যগুলি অন্তর্ভুক্ত করতে পারেন! যেকোন ভেরিয়েবলকে ঘিরে $ () এক্সপ্রেশনটি ব্যবহার করুন, যেমন "$ ($ MyObject.Property) আমি কিছু পাঠ্য অন্তর্ভুক্ত করতে চাই। (
Ject অবজেক্ট.প্রোপার্টি

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

1
সঠিক না. একক কমান্ড দিয়ে সমাধান করা যায় না।
মার্জকিনেটার

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

0

নীচেরগুলি পূর্ববর্তী সারির শুরুতে কার্সারটিকে পুনরায় স্থাপন করবে। এটিকে সঠিক অনুভূমিক অবস্থানে স্থাপন করা আপনার পক্ষে (এটিকে পাশের দিকে সরানোর জন্য। Pos.X ব্যবহার করে):

$pos = $host.ui.RawUI.get_cursorPosition()
$pos.Y -= 1
$host.UI.RawUI.set_cursorPosition($Pos)

আপনার বর্তমান আউটপুটটি 27 স্পেস বেশি, সুতরাং $ pos.X = 27 কাজ করতে পারে।


ফাইল আউটপুট নিয়ে এর কোনও যোগসূত্র নেই।
স্লগমিস্টার এক্সট্রাওয়ার্ডাইনারে

এটিও খুব খারাপ নয়। আপনি যদি এটি করেন তবে এটি সঠিক আউটপুট উত্পাদন করতে পারে $pos.X। সমস্যাটি হ'ল আপনি যদি এটি কোনও ফাইলে পাইপ করেন তবে দুটি পৃথক লাইন উপস্থিত হয়।
majkinetor

0

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

$stdout=[System.Console]::OpenStandardOutput()
$strOutput="Enabling feature XYZ... "
$stdout.Write(([System.Text.Encoding]::ASCII.GetBytes($strOutput)),0,$strOutput.Length)
Enable-SPFeature...
$strOutput="Done"
$stdout.Write(([System.Text.Encoding]::ASCII.GetBytes($strOutput)),0,$strOutput.Length)
$stdout.Close()

1
সঠিক না. আপনি যদি এটি কোনও ফাইলে রাখেন এবং পাইপ দেয় তবে এর আউটপুট থেকে কিছুই উপস্থিত হয় না।
মার্জকিনেটার

কোনও ফাইলকে পাইপ করা এমন কিছু ছিল না যা ওপি অনুরোধ করেছিল। এবং হ্যাঁ, [System.Console]কোনও ফাইলে পুনঃনির্দেশ করা যায় না।
স্লগমিস্টার এক্সট্রাওয়ার্ডাইনারে

0

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

$c_sharp_source = @"
using System;
namespace StackOverflow
{
   public class ConsoleOut
   {
      public static void Main(string[] args)
      {
         Console.Write(args[0]);
      }
   }
}
"@
$compiler_parameters = New-Object System.CodeDom.Compiler.CompilerParameters
$compiler_parameters.GenerateExecutable = $true
$compiler_parameters.OutputAssembly = "consoleout.exe"
Add-Type -TypeDefinition $c_sharp_source -Language CSharp -CompilerParameters $compiler_parameters

.\consoleout.exe "Enabling feature XYZ......."
Write-Output 'Done.'

0
$host.UI.Write('Enabling feature XYZ.......')
Enable-SPFeature...
$host.UI.WriteLine('Done')

0

কাঙ্ক্ষিত ও / পি: এক্সওয়াইজেড বৈশিষ্ট্য সক্ষম করে ...... সম্পন্ন হয়েছে

আপনি নীচের কমান্ড ব্যবহার করতে পারেন

= a = "বৈশিষ্ট্য XYZ সক্ষম করা"

লিখুন-আউটপুট "$ এ ...... সম্পন্ন"

আপনাকে উদ্ধৃতিগুলির ভিতরে ভেরিয়েবল এবং স্টেটমেন্ট যুক্ত করতে হবে। আশা করি এটি সহায়ক হবে :)

ধন্যবাদ টেকিয়েগল


পাইপলাইনে জিনিস রাখার জন্য লিখন-আউটপুট পছন্দ করা হয়। পাঠ্য প্রদর্শনের জন্য, লিখন-হোস্টটি প্রায়শই ব্যবহৃত হয় এবং সম্প্রতি তথ্য-প্রবাহে লেখার জন্য লিখিত-তথ্য ব্যবহার করা হয়।
যৌক্তিক চিত্র

0

এখানে ইতিমধ্যে এখানে অনেক উত্তর আছে, কেউ এখানে নীচে স্ক্রোল করবে না। যাইহোক, নিম্নলিখিতটি সহ একটি নতুন লাইন ছাড়াই পাঠ্য লেখার একটি সমাধান রয়েছে:

এনকোডিং সহ ফাইল আউটপুট:

  # a simple one liner
  "Hello World, in one line" | Out-File -Append -Encoding ascii -NoNewline -FilePath my_file.txt;

  # this is a test to show how it works
  "Hello World".Split(" ") | % { "_ $_ _" | Out-File -Append -Encoding ascii -NoNewline -FilePath my_file.txt; }

কনসোল আউটপুট:

  # a simple one liner
  "Hello World, in one line" | Write-Host -NoNewline;

  # this is a test to show how it works
  "Hello World".Split(" ") | % { "_ $_ _" | Write-Host -NoNewline; }

-3

আপনি একেবারে এটি করতে পারেন। রাইটিং-আউটপুটটিতে " NoEnumerate " নামে একটি পতাকা রয়েছে যা মূলত একই জিনিস।

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