নিম্নলিখিত বিশুদ্ধ ব্যাচ সমাধান বেশিরভাগ পরিস্থিতিতে কাজ করা উচিত। তবে এমন মান রয়েছে যা এটি ক্র্যাশ করতে পারে বা ভুল উত্তর দিতে পারে:
@echo off
setlocal
set "ln="
for /f "delims=" %%A in ('findstr /r "DATABASE=.*;" "test.txt"') do set "ln=%%A"
if not defined ln (
echo Value not found
exit /b 1
)
for /f "delims=;=" %%A in ("%ln:*DATABASE=%") do set "val=%%A"
echo Value=%VAL%
খাঁটি ব্যাচকে আরও শক্তিশালী করার উপায় রয়েছে। তবে একটি সাধারণ সরঞ্জাম রয়েছে যা একটি খুব শক্তিশালী এবং সহজেই ব্যবহারযোগ্য সমাধান সরবরাহ করে: REPL.BAT একটি হাইব্রিড ব্যাচ / জেএসক্রিপ ইউটিলিটি যা স্টেজেডে রেজেজ সন্ধান করে এবং প্রতিস্থাপন করে এবং ফলাফলটি স্ট্যাডআউটে লিখে দেয়। A
বিকল্প শুধুমাত্র লাইন যে রদবদল করা হয়েছে ফেরৎ।
@echo off
set "val="
for /f "delims=" %%A in ('type test.txt^|repl ".*DATABASE=(.*?);.*" $1 a') do set "val=%%A"
echo Value=%VAL%
বিষাক্ত অক্ষরগুলি স্ক্রিনে মানটি মুদ্রিত হলে শেষ সমাধানটি ব্যর্থ হতে পারে। শেষ ECHO বিবৃতিতে বিলম্বিত সম্প্রসারণের ব্যবহার এটিকে কোনও আইনি ব্যাচের পরিবেশের পরিবর্তনশীল মানের সাথে কাজ করবে।