এটি বেশ পুরানো প্রশ্ন তবে .. আমি এমন একটি ব্যাচ তৈরি করার চেষ্টা করছিলাম যা প্যাচের প্রকৃত অবস্থানের জন্য ইউএনসি পথ ব্যবহার করবে এবং সেখানে কিছু কাজ করবে (সুতরাং কেবল অনুলিপি করে অন্য কোনও স্থানে পেস্ট করুন / ফোল্ডার এবং আবার শুরু)।
আমি উত্তর খুঁজে না পাওয়ায় আমি নিজেই একটি সমাধান পেয়েছি, তবে এটি খুব সুন্দর নয় এবং অবশ্যই একটি সহজ আদেশ নয়। তবে ব্যাচে প্রয়োগ করা সম্ভব। সিএমডিতে এটি হবে:
FOR /F "tokens=2" %i IN ('NET USE ^| FIND "%CD:~0,2%"') DO (
SET cNetworkPath=%i)
SET cNetworkPath=%cNetworkPath%%CD:~2%
ECHO %cNetworkPath%
আপনি চারটি লাইন অনুলিপি করতে পারেন (আরও ভাল 4 + খালি লাইন) এবং এটি অনুলিপি করার জন্য পথটির নকল ইকো পেতে সিএমডি তে পেস্ট করতে পারেন।
ব্যাচে আপনি এটি কিছুটা আলাদাভাবে ব্যবহার করবেন:
FOR /F "tokens=2" %%i IN ('NET USE ^| FIND "%~d0"') DO (
bNetworkPath=%%i)
SET bCheckPath=!bOriginalPath!%~p0
ভেরিয়েবল% সিডি% বর্তমান পাথ সংরক্ষণ করে এবং আপনার কেবল ড্রাইভ লেটার দরকার তাই আপনি কেবল নেট ব্যবহারের এফআইএনডি কমান্ডের সাহায্যে এটি অনুসন্ধান করুন। "টোকেন = 2" (বা 3, নেট ব্যবহারের ফলাফলের উপর নির্ভর করে) এর সাথে% i ভেরিয়েবলটি আপনার অনুসন্ধান করা ড্রাইভ চিঠির পথ সঞ্চয় করে। এর পরে দ্বিতীয় এসইটি কমান্ডটি আপনি% সিডি দিয়ে নেটওয়ার্ক ড্রাইভে ব্রাউজ করা ফোল্ডার যুক্ত করেছেন: ~ 2% (ড্রাইভের অক্ষর কেটে ফেলার জন্য অফসেট 2)।
ব্যাচের জন্য আপনি% ~ d0 বা% ~ p0 ভেরিয়েবল ব্যবহার করেন। % 0 ব্যাচের পুরো পাথ নিজেই সঞ্চয় করে (যেমন জেড: \ টেম্প \ টেস্ট.বাট;% ~ d0 = জেড:;% ~ p0 = \ টেম্পে d; ডি = ড্রাইভ, পি = পাথ, এফ = পুরো পথ, এন = নাম) অন্যথায় এটি সিএমডি কমান্ডের অনুরূপ।