উইন্ডোজে ইউনিক্স-টাইপ "সনাক্তকরণ"?


17

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

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


3
উইন্ডোজ কমান্ড লাইনের অন্তর্নির্মিত কিছুই সত্যই সনাক্ত করার অনুরূপ। আমি সন্ধানের সুপারিশ করব32 ( locate 3232 )
জন টি

javacসাধারণত একই জায়গায় থাকা উচিত ...
তমারা উইজসম্যান

1
@ জোহানটি এই অবস্থানটি আর কাজ করে না - আপডেট করা3232 বাড়িটি 3232 কোজিটনেট
ট্রোজান নাম

1
ব্যবহার করে দেখুন MINGW ওরফে গীত-Bash.exe যার মধ্যে locateএবং updatedb--per stackoverflow.com/questions/36841241/...
MarkHu

উত্তর:


22

আপনার যা করতে হবে তা করতে সক্ষম হবেন dir:

dir [filename] /s

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


আপনি যদি কোনও সাধারণ ফাইল নামের জন্য পুরো ড্রাইভটি অনুসন্ধান করে থাকেন তবে এটি / পি অন্তর্ভুক্ত করার জন্য অর্থ প্রদান করতে পারে যে এটি আপনাকে একবারে ফলাফলের একটি পৃষ্ঠা উপস্থিত করে।
উইন্ডোস

আপনাকে ধন্যবাদ, এটি নিখুঁত দেখাচ্ছে। আমি প্রায়শই কমপক্ষে জানি যে আমাকে সি: I উইন্ডোস অনুসন্ধান করতে হবে যাতে অনুসন্ধানের সময়টি সংকীর্ণ করতে পারে।
dotancohen

1
আমি মনে করি না যে javacএটি ইনস্টল করা আছে C:\WINDOWS...
তমারা উইজসম্যান

একাধিক ড্রাইভ / পার্টিশন নিয়ে কাজ করে না। এবং এমনকি ২০১১ সালে, আমার কাছে কেবল সি: লিনাক্সের অবস্থানের চেয়ে আরও বেশি কিছু ছিল যা ফাইল সিস্টেমগুলির বিষয়ে চিন্তা করে না।
জর্জেন এ। এয়ারহার্ড

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

12

"কোথায়" কমান্ড সম্পর্কে কেউ কথা বলেন না? এটি বর্তমান পরিবেশের PATH এ এক্সিকিউটেবল ফাইল অনুসন্ধান করে।

where <executable>

c:\ where
The syntax of this command is:

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

Description:
    Displays the location of files that match the search pattern.
    By default, the search is done along the current directory and
    in the paths specified by the PATH environment variable.

4

উইন্ডোসের সবচেয়ে সহজ উত্তর রয়েছে answer তবে আপনি যদি কমান্ড লাইনের অনুরাগী হন তবে আপনি পাওয়ারশেলের দিকেও নজর দিতে পারেন। আপনি যে একই ধরণের অনুসন্ধান ব্যবহার করবেন তা সম্পাদন করতে

get-childitem [starting path eg c:\users\] -filter [wildcarded search or filename] -recurse

একটি কার্যকর পূর্বাভাস বিবৃতি পাম্প করা এবং অনুসন্ধান ফলাফল বিরুদ্ধে একটি প্রক্রিয়া চালানো সক্ষম হতে চমৎকার পার্শ্ব সুবিধা আছে।

get-childitem [starting path eg c:\users\] -filter [wildcarded search or filename] -recurse |
    foreach ($_){
          [do something to $_.fullname , like maybe display my image file or relocate it etc..]
    }

3
এটি টাইপ করতে অনেক দীর্ঘ অনুভব করে।
তমারা উইজসম্যান

2
গেট-চাইল্ড আইটেম সংক্ষিপ্ত হিসাবে gciবা হিসাবে হতে পারে ls
ডিজিটালপ্প

সৌভাগ্যবসত, অসদৃশ cmd, ইন PowerShellআপনি "ট্যাব" প্রস্তাবনাগুলি দেখতে সহায়তা, লিনাক্স মত ব্যবহার করতে পারেন। সুতরাং এটি টাইপ করার মতো অনেকগুলি নয়। এবং, আমার ক্ষেত্রে, lsপাওয়ারশেল কাজ করছে না।
ওয়েস্টার্নগুন

3

আমি কেবল উইন্ডোজের জন্য একটি সনাক্তকরণ প্রোগ্রাম পেয়েছি । আপনার কেবলমাত্র আমাকে পড়ার নির্দেশাবলী অনুসরণ করতে হবে এবং .dll ফাইলগুলি এবং .32 থেকে সিস্টেম 32 অনুলিপি করতে হবে।

বিকল্পের মধ্যে পরিবেশের পরিবর্তনশীল PATH এ প্রোগ্রামের পথ যুক্ত করা অন্তর্ভুক্ত।

আপনি যদি "মতো" অবস্থানের সন্ধান করেন তবে উইন্ডোজটিতে অবস্থান করা ধারণাটি। :)


আপনাকে চেকু ধন্যবাদ, এটি একটি কার্যকর প্রয়োগের মতো দেখাচ্ছে looks তবে আমি উল্লেখ করেছি যে আমি সিস্টেমে অ্যাপ্লিকেশনগুলি ইনস্টল করতে পারি না কারণ তারা সাধারণত আমার সিস্টেম না
dotancohen

2
হ্যাঁ, তবে আমি উত্তর দিই যাই হোক কেননা আমার মতো অন্যান্য লোকেরা এটি দরকারী খুঁজে পেতে পারে এবং অন্যরা বিভ্রান্ত হবে না কারণ এই পোস্টটির ইতিমধ্যে একটি স্বীকৃত উত্তর রয়েছে!
চেকু

1
locateআমার Win7 কম্পিউটারে আছে। এটি ডাটাবেসটি 435 দিনের পুরানো হওয়ার বিষয়ে অভিযোগ করে, যখন অন্তর্মুখ 3 মাসের বেশি পুরানো হয় না। এবং updatedbঅন্তর্ভুক্ত করা হয় না।
ভিনিফ

আমার ধারণা, আপনার ইনস্টলেশনটি এটি একটি বিশেষ সমস্যা।
চেকু

1
@ চেকু - জন টি দ্বারা চিহ্নিত একই অ্যাপ্লিকেশনটি । ওপি যেমন জিজ্ঞাসা করেছিল তেমন সিএলআই নয়, তবে দুর্দান্ত it
সানচো.স মনিকা

2

প্রশ্নটি কিছুটা অস্পষ্ট।

আপনি একটি ফাইল সনাক্ত করতে চান (ওপি-র শরীরে বর্ণিত), তবে আপনি একটি "সনাক্ত-টাইপ" কমান্ড / অ্যাপ (শিরোনামে বর্ণিত )ও চান। বিশাল প্রভাব নিয়ে একটি সূক্ষ্ম বিবেচনা রয়েছে। আপনি দুটি পৃথক পদ্ধতিতে সনাক্ত করতে পারেন:

  1. প্রতিটি অনুসন্ধানে (ধীর) লক্ষ্যবস্তু গাছের কাঠামো সরাসরি অনুসন্ধান করা।

  2. প্রথমে টার্গেট ট্রি স্ট্রাকচারের একটি ডাটাবেস তৈরি করা (সময় সাশ্রয়ী হতে পারে) এবং তারপরে ডাটাবেস অনুসন্ধান করে খুব দ্রুত (খুব দ্রুত) সন্ধান করা হবে। অনুসন্ধানে ভাল ফলাফল পেতে ডাটাবেসগুলি পর্যায়ক্রমে আপডেট করতে হবে। Http://en.wikedia.org/wiki/Locon_%28Unix%29 দেখুন ।

ইউনিক্স locate"টাইপ 2" এর, তবে আপনার ওপির বডি অনুসারে আপনি দুটি পদ্ধতির যে কোনও একটিতে ঠিক থাকবেন। অধিকন্তু, আপনি বিশেষত সিএলআই বিকল্পগুলি সম্পর্কে জিজ্ঞাসা করেন।

আমি কয়েকটি বিকল্পের নীচে তালিকাবদ্ধ করেছি এবং সেগুলি সিএলআই / জিইউআই কিনা তা উল্লেখ করেছি, 1/2 টাইপ করুন এবং আমি কিছু মন্তব্য যুক্ত করব।

  1. http://locon32.cogit.net/ (ইতিমধ্যে জন টি দ্বারা নির্দেশিত এবং তারপরে চেকু )। জিইউআই, টাইপ ২. একটি বহনযোগ্য সংস্করণ রয়েছে। ব্যবহারের অসামান্য স্বাচ্ছন্দ্য এবং কনফিগারেশনে। ইউনিক্সের সাথে খুব মিল locate(যা আমি ব্যবহার করেছি এবং অনেক পছন্দ করেছি)।
    দ্রষ্টব্য : ইউনিক্স Updatedbএকটি ডেটাবেস আপডেট করতে বেশ দীর্ঘ সময় নিয়ে অভ্যস্ত হয়ে উঠছে (অবশ্যই এটি স্ক্যান করা গাছের আকারের উপর নির্ভর করে), আমি locate32 অত্যন্ত দ্রুত খুঁজে পাই । কীভাবে এত উন্নতি করা যায় তা আমি জানি না।

  2. http://sourceforge.net/projects/winlocon/ CLI, টাইপ 2।

  3. দির [ফাইলের নাম] / গুলি , উইন্ডোজ দ্বারা সমাধান । সি এল এল, টাইপ 1

  4. GCI ... , OldWolf দ্বারা সমাধান । সি এল এল, টাইপ 1

  5. http://gnuwin32.sourceforge.net/packages/findutils.htm CLI, টাইপ 2।

  6. সবকিছু জিইউআই, টাইপ?


1
ধন্যবাদ, এটি একটি ভাল ব্যাখ্যা এবং বিকল্পগুলির একটি চমৎকার সংক্ষিপ্তসার।
dotancohen

2

আমি সনাক্ত এবং আপডেটবিডের জন্য একটি পাওয়ারশেল পোর্ট তৈরি করেছি। এসকিউএলাইটকে ব্যাকেন্ড হিসাবে ব্যবহার করে এবং এতে একটি অটো ইনস্টলার রয়েছে। মাত্র

.\Invoke-Locate.ps1 -install. 

লোকেশনগুলি প্রায় 300ms / ক্যোয়ারি নেয়।

তারপর

locate whatever

এবং আপনি সেট।

এখানে চিত্র বর্ণনা লিখুন

https://gallery.technet.microsoft.com/scriptcenter/Invoke-Locate-PowerShell-0aa2673a


2

হাতে ইনস্টল করার দরকার নেই। Http://chocolatey.org দেখুন

choco install winlocate

শেল পরিবেশ পুনরায় চালু করুন

Updatedb.bat -a
Locate.bat somefile

1
উইনলোকট চকোলেটিতে নেই (আর)।
লেনার্ট

2

আমি জানি এটির উত্তর অনেক আগেই দেওয়া হয়েছিল, তবে ইউনিক্স / লিনাক্সে ব্যবহৃত ফাংশন অনুকরণ করার জন্য এটি আমার স্ক্রিপ্ট is

এটি সিস্টেম 32২-এ স্থান হিসাবে চিহ্নিত করুন এবং স্থান হিসাবে সংরক্ষণ করুন বা এটি যে ডিরেক্টরিতে সঞ্চিত আছে সেখান থেকে চালান this "সেন্টিমিডি> জাভ্যাক.এক্সে সনাক্ত করুন" এর মতো একটি পরামিতি নেয়

সনাক্ত / সি স্যুইচ (2 য় প্যারামিটার হিসাবে উদাহরণগুলির সংখ্যা গণনা করবে) এবং সনাক্ত করবে /? সহায়তা পাঠ্য প্রদর্শিত হবে

@echo off 
if [%1]==[] goto :usage
if [%1] == [/?] (
:usage
echo Usage: 
echo locate "filename" { optional } /c { shows counter }
echo note:  results are exported to C:\temp\result.txt
goto :EOF
) else (
     setlocal EnableDelayedExpansion
     dir /a /b /s C:\ | findstr /I "%1" > C:\temp\result.txt 
     type C:\temp\result.txt | more /S
     set counter=0
     if [%2] == [/c] (
         for /F %%i in ('type C:\temp\result.txt') do (
             set /a counter=!counter!+1
         )
         echo Total Matches: !counter!
      ) 
)
endlocal > nul  
goto :EOF

সম্পাদনা: (আপডেট হওয়া স্ক্রিপ্ট, আরও সংগঠিত এবং বিভিন্ন ধরণের পরিস্থিতি পরিচালনা করতে পারে যেমন কোনও ফাইলের নাম নয় কেবল কোনও অনুসন্ধানের শব্দকেই মঞ্জুরি দেওয়া)

@echo off
::initialize local varaibles to default values
setlocal

set file=
set directory=
set toppath=top

::some switch validation ( from command line )
if [%1]==[] goto :Usage
if [%1]==[/?] goto :Usage
if [%1]==[/help] goto :Usage

::handle switches with if structures
if [%2]==[/c] (
     set count=yes
) ELSE (
     if [%2]==[/t] ( if [%3]==[] (goto :Usage) else (set toppath=%3))   
     if [%4]==[/c] (
          set count=yes
     ) ELSE (
          set count=
     )
)
set file=%1

::Directory Validation ( Goto jumps possible, along with raptors ) 
if [%toppath%] == [] ( 
    IF NOT EXIST %toppath% goto :FolderInvalid 
) else (
    if [%toppath%] neq [top] set directory=%toppath%
)
set toppath=
setlocal EnableDelayedExpansion

::Run Bulk of the Script
dir /a /b /s %directory% | findstr /I "%file%" > C:\temp\result.txt 
type C:\temp\result.txt | more /S
     set counter=0
     if [%count%]==[yes] (
         for /F %%i in ('type C:\temp\result.txt') do (
             set /a counter=!counter!+1
     )
     echo Total Matches: !counter!
) 

goto :End

:Usage
echo locate ^[file^] {term^/file to look for} ^| ^[^/t^] {dir^/subdirs to search} ^| ^[^/c^] {show counter}
echo.
echo notes to user:  1. Results are exported to C:\temp\result.txt
echo                 2. Default search dir is the current unless specified by ^/t switch
echo                 3. For best results write switches in order given ! ( or beware of raptors )
goto :End

:FolderInvalid
echo Folder Invalid

:End
endlocal > nul

1

ভবিষ্যতে স্থান উইন্ডোজ ঐতিহাসিকদের জন্য: আমরা আশীর্বাদ করা হয়েছে সবকিছু অনুসন্ধান । ছবি ডেমেনু + সন্ধান + এমলোকেট একটি শক্ত, সুন্দর সামান্য উইন্ডোজ পরিষেবা ডাব্লু / ক্লিপ বিকল্পগুলিতে রূপান্তরিত হয়েছে। এই জিনিসটি বাদে আসল সময়ে এর সূচকটি আপডেট করে । লিনাক্সের কিছুই কাছে আসে না। এটি আপনি যে কয়েকবার বলবেন তার মধ্যে একটি হবে "জিৎ আমি আশা করি এই ডার্ন কার্নেলটি আরও কিছুটা মাইক্রোসফটি ছিল"


ভাল ইউটিলিটি। পোস্ট করার জন্য ধন্যবাদ।
রুডিগার ওল্ফ

1

সংক্ষিপ্ত উত্তরটি হ'ল উইন্ডোজের সঠিক কোনও সমতুল্য নেই । কাজটি হ'ল dir কমান্ডটি ব্যবহার করা । এটি একটি ডিরেক্টরি তালিকা কমান্ড যা বিশেষ অক্ষরকে সমর্থন করে এবং স্বীকৃত উত্তরে নির্দেশিত হিসাবে ব্যবহার করা যেতে পারে।

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


whereঠিক সমতুল্য।
অ্যালেক্স 78191

-3

উইন্ডোজে এটি করার জন্য আমি কোনও সি এল এল পদ্ধতি সম্পর্কে অবগত নই। মনে রাখবেন যে উইন্ডোজ সিএলআই সাধারণ ব্যবহারকারীদের দ্বারা পরিত্যাগ করা হয়েছে, সুতরাং এটি সরঞ্জামগুলির একটি কম কম পরিপক্ক সেট সরবরাহ করে। আপনার সেরা বেটটিfind উইন্ডোতে gnu ব্যবহার করা হতে পারে যা আপনি GnuWin32 থেকে পেতে পারেন । যদি আপনি কোনও স্ক্রিপ্ট বিকাশ করে থাকেন তবে আপনাকে কেবল find.exeস্ক্রিপ্টের সাথে এবং তার নির্ভরতাগুলি অন্তর্ভুক্ত করতে হবে (চিন্তা করবেন না, এটি খুব বড় নয়)।

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