विंडोज समतुल्य कहाँ?


163

वहाँ यूनिक्स के एक बराबर है whereis Windows में आदेश?

ताकि मैं यह पता लगा सकूं कि वास्तव में मैं कहां चला सकता हूं।

जवाबों:


202

जहां आदेश आप क्या चाहते हैं करता है और Windows 98 के लिए संसाधन किट के लिए कम से कम वापस चला जाता है, और सर्वर 2003 में डिफ़ॉल्ट रूप से शामिल किया गया है, विस्टा, और नए:

C:\>where csc
C:\Windows\Microsoft.NET\Framework\v3.5\csc.exe
C:\Windows\Microsoft.NET\Framework\v2.0.50727\csc.exe

यदि बिना किसी तर्क के (विस्टा पर) क्रियान्वित किया जाता है, तो यह मेरे पसंदीदा संदेशों में से एक है:

C:\>where
ERROR: The operation completed successfully.

यदि PowerShell में निष्पादित किया जा रहा है, तो किसी भी 'जहाँ' उपनाम या पथ के साथ स्क्रिप्ट से अलग करने के लिए '.exe' को शामिल करना सुनिश्चित करें। ('कहाँ' जहाँ-जहाँ के लिए एक विशिष्ट उपनाम है ।ps1)

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

4
हर दिन मैं कुछ नया सीखता हूं ...
रुबेंस मरिज़ो

4
दुख की बात whereयह है कि विंडोज में अब केवल उपयोग की मदद मिलती है। इसे अपने लिए देखना चाहते हैं: p
Svish

2
whereXP में उपलब्ध नहीं है
टॉम रोजगारो

1
@TomRoggero, मैं और अधिक स्पष्ट हो सकता था। यह विंडोज 98 के साथ शुरू होने वाले वैकल्पिक संसाधन किट का हिस्सा है, और केवल XP के बाद संस्करण के लिए आधार इंस्टॉल में शामिल है।
केविन

7

Hackerish जो। cmd:

@echo off
@set PATH=.;%PATH%

@rem 
@rem about:  something similar like the unix-alike-which, but with
@rem         within pure cmd
@rem 

if "%1" == "" (
    @echo Usage: 
    @echo.
    @echo   which 'cmd'
    @echo.
    @echo.if 'cmd' is not found, ERRORLEVEL is set to 1
    @echo.  
) else (
    ( @for %%f in (%1 %1.exe %1.cmd %1.bat %1.pif) do if not "%%~$PATH:f" == "" ( @echo %%~$PATH:f ) else @set ERRORLEVEL=1) 
)

1
यह पुराने सिस्टम के लिए एक अच्छा फिक्स है, लेकिन आपको पता होना चाहिए कि यह कुछ क्वर्की में परिणाम देता है। यह निर्देशिकाओं से मेल खाता है, केवल प्रत्येक एक्सटेंशन के लिए पथ में पाया गया पहला परिणाम देता है, और PATHEXT पर्यावरण चर में पाए गए प्रत्येक एक्सटेंशन को शामिल करना चाहिए।
केविन

हाँ, यह मेरा एक बड़ा पुराना हैक है, जब मैंने इसे यहाँ चिपकाया था तो मैंने तुरंत% PATHEXT% :) की क्षमता देखी थी
akira

7

कृपया, जहां कमांड का उपयोग करें :

> where app.exe

यह अपने लक्ष्य को पाने का सबसे अच्छा तरीका है।

आप PowerShell कमांड का उपयोग भी कर सकते हैं:

> $env:path.Split(';') | gci -Filter app.exe

और विस्तारित संस्करण इस तरह दिखता है:

 > $env:path.Split(';') | select -Unique | ? {$_ -and (test-path $_)} | gci -Filter app.exe

3

कहीं "बाहर वहाँ" मुझे यह बैच फ़ाइल मिली whereis.bat:

@for %%e in (%PATHEXT%) do @for %%i in (%1%%e) do @if NOT "%%~$PATH:i"=="" echo %%~$PATH:i

अद्यतन: शायद मैं इसे यहाँ पाया ।



1
function find ($string) { 
   Get-ChildItem -Path 'c:\' -Recurse -Filter $string; 
}

function whereis ($string) { 
   $superpath = "$env:Path;C:\Program Files;C:\Program Files (x86)";
   (echo $superpath).Split(';') | Get-ChildItem -Recurse -Filter $string; 
}

उदाहरण:

PS> Mozilla.admx ढूंढें

    Directory: C:\Windows\PolicyDefinitions                                                                                     

Mode                LastWriteTime         Length Name                                                                           
----                -------------         ------ ----                                                                           
-a----        1/27/2016  12:22 PM          37146 Mozilla.admx                                                                   

पुनश्च> जिसमें फ़ायरफ़ॉक्स। Exe है

    Directory: C:\Program Files\Mozilla Firefox                                                                                 

Mode                LastWriteTime         Length Name                                                                           
----                -------------         ------ ----                                                                           
-a----        9/21/2017   5:30 PM         477136 firefox.exe        

0

मैं इसे आज खोज रहा था और जब से मैं संसाधन किट के बिना XP पर हूं, मैंने निम्नलिखित कमांड के साथ पावरशेल की ओर रुख किया:

dir -path c:\ -filter ffmpeg.* -r

मैं पॉवरशेल में कुशल नहीं हूं, लेकिन ऐसा लगता है कि आप पूरी निर्देशिका ट्री से खोज रहे हैं। यह नहीं के बराबर है whereजो केवल में खोज करता है %PATH%। इसके अलावा यह बहुत धीमा है और उन फ़ोल्डरों के लिए त्रुटियां देता है जिन्हें आपने अनुमति नहीं दी है
phuclv

सहमत ... मुझे कार्यक्षमता की सटीक प्रतिलिपि की आवश्यकता नहीं थी, बस एक कार्यक्रम का पता लगाने की क्षमता है।
कालेंजी

-1

आप निम्नलिखित का उपयोग करके कमांड को खोजने का प्रयास कर सकते हैं:

dir /s type-whatever-you-are-searching

यह मेरे लिए काम नहीं करता है। उदाहरण के लिए, exp कमांड मेरे पथ में है, लेकिन dir / s exp या dir / s exp.exe सिर्फ "फ़ाइल नहीं मिला" देता है।
bobmcn

4
यह काम करेगा अगर a) आप ड्राइव के रूट से खोजते हैं, b) आपका रास्ता एक ड्राइव पर है, और c) आपका रास्ता लेक्सिकोग्राफिक क्रम में है। इन शर्तों के तहत भी यह हास्यास्पद रूप से धीमा होगा।
केविन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.