যদি পাওয়ারশেল কমান্ড বিভাজক হয়; (সেমিকোলন), কেন "তারিখ; dir "dir আউটপুট অতিরিক্ত বিবরণ তৈরি?


11

আমি বুঝতে পারি যে সেমিকোলন হল পাওয়ারশেলের একটি কমান্ড বিভাজক। echo "hello"; dirএই আউটপুট দেয়।

PS C:\> echo "hello"; dir
hello

Directory: C:\

Mode         LastWriteTime     Length Name
----         -------------     ------ ----
d-----       2018-04-29 13:02         BCD_Backup
d-----       2018-12-02 14:08         Dell
<snip>

কিন্তু কেন date; dirএই আউটপুট দেয়?

PS C:\> date; dir

Friday, December 14, 2018 11:14:23

PSPath            : Microsoft.PowerShell.Core\FileSystem::C:\BCD_Backup
PSParentPath      : Microsoft.PowerShell.Core\FileSystem::C:\
PSChildName       : BCD_Backup
PSDrive           : C
PSProvider        : Microsoft.PowerShell.Core\FileSystem
PSIsContainer     : True
Name              : BCD_Backup
FullName          : C:\BCD_Backup
Parent            :
Exists            : True
Root              : C:\
Extension         :
CreationTime      : 2018-04-29 13:02:31
CreationTimeUtc   : 2018-04-29 11:02:31
LastAccessTime    : 2018-04-29 13:02:31
LastAccessTimeUtc : 2018-04-29 11:02:31
LastWriteTime     : 2018-04-29 13:02:31
LastWriteTimeUtc  : 2018-04-29 11:02:31
Attributes        : Directory
Mode              : d-----
BaseName          : BCD_Backup
Target            : {}
LinkType          :


PSPath            : Microsoft.PowerShell.Core\FileSystem::C:\Dell
PSParentPath      : Microsoft.PowerShell.Core\FileSystem::C:\
<snip>

আকর্ষণীয় প্রশ্ন। আমি আশা করি এর উত্তর পেয়েছে, কারণ আমার নিজের কোনও ধারণা নেই এবং আমি পাওয়ারশেলের কাছাকাছি আমার পথটি জানি।
এলপিসিপ


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

@ লটপিংস - আকর্ষণীয় বিষয়টি হ'ল গেট-চাইল্ড আইটেমের কোনও বিকল্প নেই যা সেই> তারিখের আউটপুট উত্পন্ন করবে; গেট-চাইল্ড আইটেমের ফলাফল।
মাইকেল

সম্মত, আমি একেবারে কী কার্যকর করা হয় তা আগ্রহী date। এটি কোনও নাম বা একটি সেমিডলেট বা। এক্স ফাইল নয় (PSv6 বিটিডাব্লুতে একই সমস্যা)
লটপিংস

উত্তর:


2

পাওয়ারশেল যেহেতু একের পর এক বিবৃতি কার্যকর করে, আমি মনে করি, এটি পরবর্তী সমস্ত বিবৃতিতে প্রথম বিবৃতিটির আউটপুট বিন্যাস প্রয়োগ করে।

প্রকারের Get-Dateকোনও অবজেক্ট হিসাবে DateTime, এটি আপনার 'দির' আউটপুটকে প্রভাবিত করে তালিকা হিসাবে ফর্ম্যাট হয়।

আপনি Get-Date'ফর্ম্যাট' বিকল্পটি ব্যবহার করে স্ট্রিংয়ে ফেরতের ধরণের পরিবর্তন করে এই ধারণাটি পরীক্ষা করতে পারেন :

date -Format yyyy-MM-dd ; dir

(এটি 'দির' এর জন্য ডিফল্ট আউটপুট উত্পন্ন করবে)

বা ডিফল্ট আউটপুট ফর্ম্যাটটিকে এটিতে পাইপলাইন করে পরিবর্তন করে Format-Table:

 date | Format-Table ; dir

0

এটি কেবলমাত্র যখন আপনি তারিখ ব্যবহার করেন তা মনে হয়; অন্যান্য পিএস সেমিডলেটগুলি সহ 'অন্য কিছু পরে' (কেবল কয়েকটি চেষ্টা করেছিলেন)।

টাইপ করা হিসাবে 'তারিখ' মনে হয় যে মূল উইন্ডোজকে কল করা হয়েছে (ঠিক সেমিডি.এক্সির মতো) সেই তারিখের স্ট্রিংটি ফিরে পাওয়ার জন্য, পাওয়ারশেল সেই স্ট্রিংটি উপস্থিত হওয়ার সাথে কিছু করার চেষ্টা করছে।

আপনি যদি এটির বিপরীত হন তবে 'এখানে কিছু'; তারিখ, এই বিজোড়তা প্রদর্শন করে না। এটি কেবল এটি করে ...

 dir;date


    Directory: D:\Scripts


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----         9/1/2018   2:12 PM                .vscode
d-----         7/3/2018   4:44 PM                CheckURI

....


DisplayHint : DateTime
Date        : 12/14/2018 12:00:00 AM
Day         : 14
DayOfWeek   : Friday
DayOfYear   : 348
Hour        : 14
Kind        : Local
Millisecond : 516
Minute      : 42
Month       : 12
Second      : 22
Ticks       : 636803953425164049
TimeOfDay   : 14:42:22.5164049
Year        : 2018
DateTime    : Friday, December 14, 2018 2:42:22 PM
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.