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


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.