একটি নির্দিষ্ট মানের উপর ভিত্তি করে স্ট্রিং থেকে অংশ পান


0

আমার কাছে নিম্নলিখিত কোড রয়েছে:

SET PATH=\\dc01\intern\Product\NightlyBuild\Reg\Reg_20171207.1\out\site
OR
SET PATH=\\dc01\intern\Product\Release\ex\17.12\site

এখন আমি নিম্নলিখিত মানগুলি ভেরিয়েবলগুলির বাইরে পেতে চাই:

PATH_trimmed = Reg\Reg_20171207.1
OR
PATH_trimmed = 17.12

সুতরাং প্রতিটি পাথের জন্য ভেরিয়েবলের বাইরে আলাদা বিভাগ নেওয়া উচিত। সুতরাং উদাহরণস্বরূপ আমার একটি পদ্ধতি প্রয়োজন যা শব্দটির সন্ধান করতে পারে: " নাইটলাইবিল্ড " বা " মুক্তি " পছন্দসই মানটি পুনরুদ্ধার করতে। আমি বাম স্ট্রিং পদ্ধতিগুলি ব্যবহার করে এটি করার চেষ্টা করেছি:

%path:~0,4%

তবে তা কার্যকর হয় না। কেউ কি আমাকে সঠিক পথে পরিচালিত করতে পারেন?

উত্তর:


1

সবচেয়ে সহজ উপায় হল PATHস্ট্রিংকে পার্স করা : -

@echo off
rem SET PATH=\\dc01\intern\Product\NightlyBuild\Reg\Reg_20171207.1\out\site
rem SET PATH=\\dc01\intern\Product\Release\ex\17.12\site
rem for /f "tokens=4-6 delims=\" %%f in ("%path%") do echo %%f:%%g:%%h
for /f "tokens=4-6 delims=\" %%f in ("%path%") do (
    if %%f==NightlyBuild set PATH_trimmed=%%g\%%h
    if %%f==Release set PATH_trimmed=%%h
)
rem echo PATH_trimmed=%PATH_trimmed%

এই বাহ্যিক প্রোগ্রাম ব্যবহার এড়াতে: এটা splits PATHপ্রতিটি \পৃথক ভেরিয়েবল অনুবাদ করে, এবং ফাঁকা ক্ষেত্র উপেক্ষা, তাই প্রথম উল্লেখযোগ্য ক্ষেত্র dc01, কিন্তু শুধুমাত্র ষষ্ঠ ক্ষেত্র চতুর্থ নিষ্কাশিত হয়, f, gএবং hযথাক্রমে।

তুলনা %%fকরে উপযুক্ত মানটি PATH_trimmedভেরিয়েবলের মধ্যে সেট করা হয় । কৌশলটি সহজেই অন্য PATHফর্ম্যাটগুলিতে প্রসারিত হতে পারে ।

মন্তব্য-আউট লাইন পরীক্ষার উদ্দেশ্যে ব্যবহৃত হয়েছিল।


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