আমি জানি এটির উত্তর অনেক আগেই দেওয়া হয়েছিল, তবে ইউনিক্স / লিনাক্সে ব্যবহৃত ফাংশন অনুকরণ করার জন্য এটি আমার স্ক্রিপ্ট 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