වින්ඩෝස් කොහෙද?


174

වින්ඩෝස් හි යුනික්ස් කොහෙද විධානයට සමානද ?

එවිට මට ක්‍රියාත්මක කළ හැකි විධාන ඇත්ත වශයෙන්ම කොහේදැයි මට තේරුම් ගත හැකිය.

Answers:


221

මෙම ස්ථානය විධාන ඔබට අවශ්ය දේ කරන්නේ හා අවම වශයෙන් වින්ඩෝස් 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.

පවර්ෂෙල් හි ක්‍රියාත්මක කරන්නේ නම්, ඕනෑම 'කොහේද' අන්වර්ථයන් හෝ ස්ක්‍රිප්ට් වලින් වෙන්කර හඳුනා ගැනීමට '.exe' ඇතුළත් කිරීමට වග බලා ගන්න. ('කොහේද' යනු කොහේද- Object.ps1 සඳහා සාමාන්‍ය අන්වර්ථයකි)

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

6
හැමදාම මම අලුත් දෙයක් ඉගෙන ගන්නවා ...
රූබන්ස් මාරියුසෝ

5
කනගාටුදායක whereවින්ඩෝස් 7 හි දැන් භාවිත උදව් ලබා දෙයි. එය මා වෙනුවෙන් දැකීමට අවශ්‍ය විය: p
ස්විෂ්

2
whereඑක්ස්පී හි නොමැත
ටොම් රොජෙරෝ

1
OmTomRoggero, මට මීට වඩා පැහැදිලි විය හැකිය. එය වින්ඩෝස් 98 සමඟ ආරම්භ වන විකල්ප සම්පත් කට්ටලයේ කොටසක් වන අතර එක්ස්පී පසු අනුවාදය සඳහා වන මූලික ස්ථාපනයෙහි පමණක් ඇතුළත් වේ.
කෙවින්

7

hackerish which.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
මෙය පැරණි පද්ධති සඳහා හොඳ විසඳුමක් වන නමුත් එය ප්‍රති qu ල කිහිපයක් ඇති කරන බව ඔබ දැනගත යුතුය. එය නාමාවලි වලට ගැලපේ, එක් එක් දිගුව සඳහා මාර්ගයේ ඇති පළමු ප්‍රති result ලය පමණක් ලබා දෙන අතර 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                                                                   

PS> whereis firefox.exe

    Directory: C:\Program Files\Mozilla Firefox                                                                                 

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

0

මම අද මෙය සොයමින් සිටි අතර සම්පත් කට්ටලය නොමැතිව මම එක්ස්පී හි සිටින බැවින්, පහත දැක්වෙන විධානය සමඟ මම බලශක්තිය වෙත හැරුනෙමි:

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

මම බලශක්තිය පිළිබඳ මනා දැනුමක් නැති නමුත් ඔබ මුළු ඩිරෙක්ටරි ගස හරහාම සොයන බව පෙනේ. මෙය whereසෙවීමේදී පමණක් සමාන නොවේ %PATH%. එපමණක් නොව එය වඩා මන්දගාමී වන අතර ඔබට කියවීමට අවසර නොමැති ෆෝල්ඩර සඳහා දෝෂ ලබා දේ
phuclv

එකඟ විය ... මට ක්‍රියාකාරීත්වයේ නිශ්චිත පිටපතක් අවශ්‍ය නොවීය, වැඩසටහනක් සොයා ගැනීමේ හැකියාව පමණි.
කලෙන්ගි

0

භාවිතා එහිදී cmd දී, කවුළු 10 විධානය, මම, ඇ # සම්පාදක පිටපත් සඳහා ඇත්තෙන් වෙනසට භාජනය සෝදිසි ඇ ධාවකය සඳහා පහත සඳහන් විධානය භාවිතා csc.exe.

c:\> where /r c:\ csc.exe

නියැදිය: csc.exe හි සියලුම පිටපත් සොයා ගත හැකි ස්ථානය භාවිතා කිරීම


-1

පහත දැක්වෙන දෑ භාවිතා කර ඔබට විධානය සෙවීමට උත්සාහ කළ හැකිය:

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

මෙය මට වැඩ කරන්නේ නැත. උදාහරණයක් ලෙස, exp විධානය මගේ මාවතේ ඇත, නමුත් dir / s exp හෝ dir / s exp.exe මඟින් "ගොනුව හමු නොවීය".
bobmcn

5
අ) ඔබ ධාවකයේ මුල සිට සෙවුවහොත්, ආ) ඔබේ මාර්ගය සියල්ලම එක් ධාවකයක තිබේ නම් සහ ඇ) ඔබේ මාර්ගය ශබ්දකෝෂ අනුපිළිවෙලින් තිබේ නම් මෙය ක්‍රියාත්මක වේ. මෙම තත්වයන් යටතේ වුවද එය හාස්‍යජනක ලෙස මන්දගාමී වනු ඇත.
කෙවින්
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.