সেন্টিমিডির "কোথায়" পাওয়ারশেলের সমান


61

whereকমান্ডের পাওয়ার পাওয়ারের সমতুল্য সম্পর্কে আমি কিছু খুঁজে পাচ্ছি না cmd। আমি কি কেবল এটি থেকে কল করব cmdবা পিএসে আরও মার্জিত কিছু আছে?


আকর্ষণীয় পড়ার পরে আমি কোথাও কোথাও ফিরে পেয়েছি যেখানে হি.ইক্স.এইচ এবং গেট-চাইল্ড আইটেম: ব্লগস.টেকনেট
শন মেল্টন

উত্তর:


59

Get-Commandকমান্ডলেট ব্যবহার করে এটি নির্বাহকের নাম passing এটি এক্সিকিউটেবলের সম্পূর্ণরূপে সমাধান হওয়া পথের সাথে প্রত্যাবর্তিত অবজেক্টের (টাইপ অ্যাপ্লিকেশনআইনফো ) এর পাথ সম্পত্তিকে পপুলেট করে।

# ~> (get-command notepad.exe).Path
C:\WINDOWS\system32\notepad.exe

8
যদি আপনি নিজেকে প্রচুর পরিমাণে ব্যবহার করে দেখতে পান তবে প্রতিবার gcmপুরো Get-Commandশব্দটি টাইপ করার পরিবর্তে আপনি আদেশটি সংক্ষেপে বলতে পারেন
মোশে কাটজ

@ মোশেকাটজ আপনাকে ধন্যবাদ! gcm notepadআমার জন্য নিখুঁতভাবে কাজ করা হয়েছে যখন আমি কেবল কোন ফাইলটি কল করছি তা দেখতে চাই।
শান ওয়াং

1
এবং এটি, ছেলেরা এবং মেয়েরা, আপনি কীভাবে ইতিমধ্যে সঠিক জিনিসগুলিকে অতিরিক্ত জটিল করে তোলেন। যদি এটি ভাঙা না থাকে তবে এটি ঠিক করবেন না।
এএফপি_৫৫৫

এই আদেশের জন্য আপনাকে অনেক ধন্যবাদ। আমি পথটি হার্ডকোডিং না করে অ্যাড-টাইপ করতে পারি।
জেসন টিপোর্টেন

22

যদি আপনি কেবল where.exeসেমিডিকে চালিত না করে একই কার্যকারিতাটি দেখতে চান তবে আপনি যতক্ষণ C:\Windows\System32আপনার পথে রয়েছেন ততক্ষণ পাওয়ারশেল থেকে কল করতে পারবেন । কমান্ডটি where(.exe ছাড়াই) অ্যালিজ করা হয়েছে Where-Object, তাই কেবল পুরো নামটি নির্দিষ্ট করুন।

PS C:\Users\alec> where
cmdlet Where-Object at command pipeline position 1
...

PS C:\Users\alec> where.exe
The syntax of this command is:

WHERE [/R dir] [/Q] [/F] [/T] pattern...

8

Get-ChildItem C:\SomeDir -Recurse *.dll

এটি বেশ পুরনো যেখানে.এক্স.এই কি করে ... আরও নির্দিষ্ট সুনির্দিষ্ট কার্যকারিতা ছিল যা আপনি নকল করার চেষ্টা করছেন?

সম্পাদনা: জোশুয়ার মন্তব্যের জবাবে ... ওহ, আপনি নিজের পথের পরিবেশের পরিবর্তনগুলিও অনুসন্ধান করতে চান? সমস্যা নেই.

Foreach($_ In $Env:Path -Split ';')
{
    Get-ChildItem $_ -Recurse *.dll
}

1
"যেখানে" PATH পাশাপাশি অনুসন্ধান করে
জোশুয়া ম্যাককিনন

3
oh, you want to search your PATH environment variables too? উম, হ্যাঁ, যে পুরো পয়েন্ট থেকে where, অন্যথায় আপনি শুধু ব্যবহার করতে পারেন dir। ডের। :-P
Synetech

3

whereএকটি বিল্ট ইন cmdকমান্ড নয়। এটি একটি স্বতন্ত্র অ্যাপ্লিকেশন ( where.exe), সুতরাং কঠোরভাবে বললে পাওয়ারশেলের "প্রতিস্থাপনের দরকার নেই"।

তাহলে whereপাওয়ারশেলের কাজ কেন হয় না ? মনে হচ্ছে এটি কিছুই করেনি:

PS C:\> where where
PS C:\>

ডিফল্টরূপে whereএকটি অন্তর্নির্মিত পিএস সেমিডলেটতে এলিয়াস করা হয়।

PS C:\> get-help where

NAME
    Where-Object
...
ALIASES
    where
    ?

ওয়েল, এটি জেনে রাখা দুর্দান্ত, তবে where-objectকল করার চেষ্টা করার সময় কল এড়ানো কোনও উপায় আছে কি where.exe?

উত্তরটি হল হ্যাঁ.

বিকল্প 1

where.exeএক্সটেনশন সহ কল করুন । (এটি অন্যান্য এলিয়াসিং এবং ফাইল-এক্সটেনশান অগ্রাধিকার সংক্রান্ত সমস্যাগুলির জন্য কাজ করার একটি সহজ উপায়))

PS C:\> where.exe where
C:\Windows\System32\where.exe

বিকল্প 2

উপনামটি সরান।

PS C:\> Remove-Item alias:\where -Force
PS C:\> where where
C:\Windows\System32\where.exe

পার্শ্ব নোটস

জেডানের উত্তরটিGet-Command বিকল্প হিসাবে ব্যবহারের প্রস্তাব দেয় । যদিও এটি কিছুটা ভার্বোজ (যদিও ডিফল্ট gcmওরফে ব্যবহার করার সময় ), এর চেয়ে বেশি কার্যকারিতা রয়েছে where.exe। যদি স্ক্রিপ্টিংয়ে ব্যবহৃত হয়, তবে উভয়ের মধ্যে সূক্ষ্ম পার্থক্যের দিকে মনোযোগ দিন। যেমন where.exeসব ম্যাচ ফেরৎ, যেহেতু Get-Commandআয় শুধুমাত্র প্রথম ফলাফলের যদি না আপনি ঐচ্ছিক অন্তর্ভুক্ত -TotalCountপ্যারামিটার।

PS C:\> where.exe notepad
C:\Windows\System32\notepad.exe
C:\Windows\notepad.exe
PS C:\> (gcm notepad).Path
C:\WINDOWS\system32\notepad.exe
PS C:\> (gcm notepad -TotalCount 5).Path
C:\WINDOWS\system32\notepad.exe
C:\WINDOWS\notepad.exe
PS C:\>

এবং অবশেষে, আপনি যদি ডিফল্ট whereউপন্যাসটি অপসারণ করেন তবে আপনি এটিকে একটি উপন্যাস হিসাবে পুনরায় নিয়োগের বিষয়টি বিবেচনা করতে পারেন Get-Command। (তবে এটি সম্ভবত সন্দেহজনক উপকারে আসবে))

PS C:\> Set-Alias where Get-Command
PS C:\> where notepad

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Application     notepad.exe                                        10.0.15... C:\WINDOWS\system32\notepad.exe


PS C:\> (where notepad).Path
C:\WINDOWS\system32\notepad.exe
PS C:\>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.