সিএমডি উইন্ডো থেকে ম্যাপযুক্ত নেটওয়ার্কের পথ নির্ধারণ করুন


26

আমার একটি নেটওয়ার্ক ড্রাইভ রয়েছে - এতে ম্যাপ করা হয়েছে Z:\

পূর্ণ নেটওয়ার্কের পথটি জানতে কোনও সাধারণ আদেশ আছে কি cmd?

উদাহরণস্বরূপ , যদি cmdশো হয় Z:\ABC\, আমার আউটপুট করার জন্য একটি কমান্ড চাই\\networkDrive\MappedDir\ABC

net use ঠিক আছে তবে আমি বর্তমান চলমান ডিরেক্টরি (দ্রুত কপির জন্য) এর পুরো পথটি পেতে চাই get

উত্তর:


37

আদর্শ

net use

যা আপনাকে বর্তমানে সংযুক্ত সমস্ত নেটওয়ার্ক ড্রাইভ দেখায়।

OK           Z:        \\127.0.0.1\c$            Microsoft Windows Network

ধন্যবাদ, আপনি কি বর্তমান ওয়ার্কিং ডিরেক্টরিটির পুরো পথটি পাওয়ার কোনও উপায় জানেন?
অফিরিস

1
কি হবে echo %cd%?
এন্ডোরো

@ এন্ডোরো, echo %cd%বর্তমান ডিরেক্টরিটি ( Z:\ABC) এবং আউটপুটগুলি না\\netDrive\ABC
অফিরিস

আমি মনে করি না এটির জন্য আপনি করতে পারেন এমন একটি সাধারণ কমান্ড লাইন আছে। এটি করার জন্য আপনি কোনও ব্যাচ / পাওয়ারশেল স্ক্রিপ্ট লিখতে সক্ষম হতে পারেন, তবে আমি এটি তৈরি করার চেষ্টা করি নি। আইকারাসের কাছ থেকে উত্তরটি দেখুন: superuser.com / প্রশ্নগুলি / 244579/… সম্ভবত আপনি এটি আপনার প্রয়োজন হিসাবে এটি ব্যবহার করতে পারেন।
দারিয়াস

বর্তমানে সংযুক্ত নয় এমন ড্রাইভগুলি সম্পর্কে কী (যেমন, কোনও ভিপিএন যা বর্তমানে সংযোগ বিচ্ছিন্ন হয়েছে তার উপরে)?

1

এটি বেশ পুরানো প্রশ্ন তবে .. আমি এমন একটি ব্যাচ তৈরি করার চেষ্টা করছিলাম যা প্যাচের প্রকৃত অবস্থানের জন্য ইউএনসি পথ ব্যবহার করবে এবং সেখানে কিছু কাজ করবে (সুতরাং কেবল অনুলিপি করে অন্য কোনও স্থানে পেস্ট করুন / ফোল্ডার এবং আবার শুরু)।

আমি উত্তর খুঁজে না পাওয়ায় আমি নিজেই একটি সমাধান পেয়েছি, তবে এটি খুব সুন্দর নয় এবং অবশ্যই একটি সহজ আদেশ নয়। তবে ব্যাচে প্রয়োগ করা সম্ভব। সিএমডিতে এটি হবে:

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; ডি = ড্রাইভ, পি = পাথ, এফ = পুরো পথ, এন = নাম) অন্যথায় এটি সিএমডি কমান্ডের অনুরূপ।


নমুনা আকর্ষণীয়, কিন্তু ভাঙা। উদাহরণস্বরূপ (DO...)ব্যাচের উদাহরণটি অনুপস্থিত SET ...এবং bOriginalPathকোথাও সংজ্ঞায়িত হয়নি।
ম্যাট উইলকি

0

ব্যাটের পথটি কার্যনির্বাহী ডিরেক্টরি থেকে আলাদা হতে পারে। সুতরাং আমাদের ব্যাটের ভিতরে মাইকোরঝিজা প্রথম পদ্ধতির দরকার। হারিয়ে যাওয়া স্থিতি এবং স্থানীয় ডিস্ক ড্রাইভের পরিস্থিতি সামঞ্জস্য করতে আমাদের অতিরিক্ত চেক দরকার। নিম্নলিখিত কার্য কোডটি হল:

SET cNetworkPath=    
FOR /F "tokens=2" %%i IN ('NET USE ^| FIND "%CD:~0,2%"') DO (
      SET cNetworkPath=%%i)
if "%cNetworkPath%" == "%CD:~0,2%" (
  FOR /F "tokens=3" %%i IN ('NET USE ^| FIND "%CD:~0,2%"') DO (
        SET cNetworkPath=%%i)
)
if "%cNetworkPath%" == "" set cNetworkPath=%CD:~0,2%
SET cNetworkPath=%cNetworkPath%%CD:~2%
ECHO %cNetworkPath%

উপরের কোডটি বেশিরভাগ ক্ষেত্রেই কাজ করে তবে এমন কিছু ক্ষেত্রে রয়েছে যেখানে নেট ব্যবহার এবং অনুসন্ধানগুলি কাজ করে না, নিম্নলিখিতটি শেষ পর্যন্ত পরীক্ষিত কাজের পদ্ধতিটি রয়েছে:

SET cNetworkPath=
for /f "tokens=2" %%i in ('wmic path win32_mappedlogicaldisk get deviceid^, providername ^| findstr "%CD:~0,2%"') do (set cNetworkPath=%%i)
echo %cNetworkPath%

0

যদি আপনি এটি সর্বদা আপনার প্রম্পটে প্রদর্শন করতে চান তবে আপনি তা করতে পারেন

set prompt=$M$Q$S$P

যা আপনাকে আপনার ইউএনসি পাথ এবং আপনার ড্রাইভ চিঠি ভিত্তিক পথ প্রদর্শন করবে।

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