উইন্ডোজ শেল (ব্যাট, সেন্টিমিটার) এর মাধ্যমে সিস্টেমে ড্রাইভ চিঠির একটি তালিকা কীভাবে পাবেন?


উত্তর:


36

এটি এর বেশিরভাগ অংশ পাবে:

Net Use

আপনার যদি সাবস্টের মাধ্যমে কোনও ড্রাইভ ম্যাপ করা থাকে তবে আপনার সেগুলিও পাওয়া দরকার:

Subst

সম্পূর্ণতার জন্য, আপনি পাওয়ারশেল এ এটি করতে হবে (যদি আপনি উইন্ডোজ 7 এ থাকেন বা এটি ইনস্টল করেছেন):

gwmi win32_LogicalDisk -filter DriveType=4

আপনি এটি কমান্ড প্রম্পট থেকে বা ডাব্লুএমআই ব্যবহার করে একটি ব্যাচ ফাইল থেকেও করতে পারেন:

wmic logicaldisk get caption,providername,drivetype,volumename

1
এটি কোনও অভ্যন্তরীণ হার্ড ড্রাইভ বা সিডিআরমের মতো স্থানীয় ডিস্ক ড্রাইভের তালিকা করে না। আমি কিছু অনুপস্থিত করছি?
ক্রিস ম্যাগনসন 21

নাহ, আমি প্রশ্নটি ভুল বুঝেছি। আমি ভেবেছিলাম যে আপনি কেবল ম্যাপযুক্ত ড্রাইভই চেয়েছিলেন। আমি সম্পাদনা করব।
ইবিগ্রিন

2
ডাব্লুমিক সমাধানটি আপনাকে সমস্ত কিছু দেওয়া উচিত।
ইবিগ্রিন 21

আপনাকে "ক্যাপশন, সরবরাহকারীর নাম, ড্রাইভ টাইপ" পেতে ডাব্লুমিক লজিক্যালডিস্ক থেকে উদ্ধৃতিগুলি সরিয়ে ফেলতে হবে যাতে এটি ডাব্লিমিই লজিক্যালডিস্কের সাথে ক্যাপশন, সরবরাহকারীর নাম, ড্রাইভ টাইপ পাওয়া যায় যাতে এটি ত্রুটি ছুঁড়ে দেয়। ইবিগ্রিন আপনি এককভাবে এই দিনটির জন্য আমার মনকে ফুটিয়ে তুলেছেন, আমি কয়েক সপ্তাহ ধরে বিভিন্ন সার্ভার বিল্ডগুলি স্ক্রিপ্ট করে দিচ্ছি এবং আমি এর সাথে আরও কী করতে পারি তা দেখে আমি অত্যন্ত উত্সাহিত হয়েছি তবুও আমি কখনও ডাব্লিমিআই দেখিনি। দারূন কাজ!
ক্রিস ম্যাগনসন 21

1
ডাব্লুমিক লজিক্যালডিস্ক ক্যাপশন, সরবরাহকারীর নাম, ড্রাইভ টাইপ পান, ভলিউমনেম ভলিউমনেম যা ছিল আমি তা অনুপস্থিত ছিল, আপনি যদি নিজের সাথে এটি আপডেট করেন তবে আমি উত্তর হিসাবে এটি গ্রহণ করব। ধন্যবাদ
ক্রিস ম্যাগনসন 21

15

ডিস্কপার্ট ব্যবহার করতে, একটি মধ্যবর্তী ফাইল তৈরি করার দরকার নেই। চেষ্টা করুন:

echo list volume | diskpart

2
এটি সেরা উত্তর এবং একটি সুন্দর ফর্ম্যাটে মাউন্ট করা ড্রাইভগুলির সর্বাধিক তথ্য প্রদান করে।
এরকার

তবে এটির জন্য প্রশাসনিক অধিকারগুলি দরকার
লজিকডেমোন

9
@echo off
cls
setlocal enabledelayedexpansion
set "_DRIVE.LETTERS.FREE=Z Y X W V U T S R Q P O N M L K J I H G F E D C B A "
for /f "skip=1 tokens=1,2 delims=: " %%a in ('wmic logicaldisk get deviceid^,volumename') do (
   set "_DRIVE.LETTERS.USED=!_DRIVE.LETTERS.USED!%%a,%%b@"
   set "_DRIVE.LETTERS.FREE=!_DRIVE.LETTERS.FREE:%%a =!"
)
set _DRIVE.LETTERS.USED=%_DRIVE.LETTERS.USED:~0,-2%
set _DRIVE.LETTERS.USED=%_DRIVE.LETTERS.USED:,@=, @%
set _DRIVE.LETTERS

দ্রুত, নমনীয় এবং দক্ষ। যদিও কিছুটা জটিল।


উইন্ডোজের কোন সংস্করণে এটি কাজ করে তা আমি জানি না তবে আমি এটি কেবল আমার উইন 7 এবং এক্সপি মেশিনে পরীক্ষা করেছিলাম এবং উভয়ের কাছ থেকে নিম্নলিখিত আউটপুটটি পেয়েছি: IV ড্রাইভ লেটার (গুলি): ইউএসডি: "=" ড্রাইভ লেটার (গুলি): বিনামূল্যে: "! TMP_FREE_DRIVE_LETTERS!" `
জন

দুঃখিত, আপনার এটি ব্যাচ ফাইলের শুরুতে রাখা দরকার। সেটলোকাল এন্টেএলডিএডেক্সস্পেনশন
ধর্ম লিওনার্দি

অনুপস্থিত রেখাটি অন্তর্ভুক্ত করতে আমি আপনার উত্তর সম্পাদনা করেছি। এটা এখন কাজ করে. +1
জন গার্ডেনিয়ার্স

7

স্কট দ্বারা অনুপ্রাণিত

for %i in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do @%i: 2>nul && set/pz=%i <nul

সিডি ড্রাইভ লেটারও দেখায়। প্রশাসক হওয়ার দরকার নেই।


সহজ এবং কাজ
টাইলার লং

"আমি এই সময় অপ্রত্যাশিত ছিলাম।"
বেরিট লারসেন

@ বেরিটলারসন আপনার যদি কমান্ড লাইনের পরিবর্তে ব্যাচ ফাইল হিসাবে চালাচ্ছেন তবে আপনাকে% চিহ্নগুলি দ্বিগুণ করতে হবে।
টেসেল্ল্যাটিংহেকলারের

5
mountvol

নমুনা আউটপুট

\\?\Volume{11197e59-f977-11dd-afc6-111e6f6e6963}\
   *** NO MOUNTING POINT ***

\\?\Volume{11197e59-f977-11dd-afc6-111e6f6e6963}\
   D:\

\\?\Volume{11197e59-f977-11dd-afc6-111e6f6e6963}\
   C:\

\\?\Volume{11197e59-f977-11dd-afc6-111e6f6e6963}\
   E:\

4

কেউ যদি হয় ভাগ্যবান যথেষ্ট ব্যবহার করা ভিস্তা (Vista- আলটিমেট জন্য SP2 b6002, আমার ক্ষেত্রে) এবং gwmi এবং wmic স্নিপেট এখানে দেওয়া ঠিক, এখানে কাজ করি না আমি এটি কাজ করা কি।

জন্য gwmi , যদি আপনি কোন আউটপুট পাবেন,, 3. DriveType পরিবর্তন যদি সমস্যা এখনও থাকার চেষ্টা -filter বিকল্প পুরাপুরি মুছে ফেলুন এবং আউটপুট বিশ্লেষণ করুন।

gwmi win32_LogicalDisk -filter DriveType=3

জন্য wmic , যদি আপনি "অবৈধ তাহলে GET অভিব্যক্তি" গ্রহণ, তারপর নির্বাণ চেষ্টা করুন উদ্ধৃতির মধ্যে অভিব্যক্তি:

wmic logicaldisk get "caption,providername,drivetype,volumename"

2

এই সাইটে কলগুলির অনেকগুলি সহজ সেট রয়েছে:

http://en.code-bude.net/2013/02/23/show-all-drives-in-command-prompt/

স্থানীয় ড্রাইভগুলি দেখান:

ডাব্লুমিক লজিকাল ডিস্ক ডিভাইসড, ভলিউমনেম, বর্ণনা পান


আপনি যদি কোনও নির্দিষ্ট ধরণের ড্রাইভগুলি দেখাতে চান তবে ডাব্লিউমিক কমান্ডটি আরও প্রসারিত করা যেতে পারে যেখানে একটি ক্লজ যুক্ত করতে হবে।

ডাব্লুমিক লজিকাল ডিস্ক যেখানে ড্রাইভ টাইপ = 2 ডিভাইসড, ভলিউমেনাম, বিবরণ পায়

প্রকারভেদ

0 => অজানা

1 => কোনও রুট ডিরেক্টরি নেই

2 => অপসারণযোগ্য ডিস্ক

3 => লোকাল ডিস্ক

4 => নেটওয়ার্ক ড্রাইভ

5 => কমপ্যাক্ট ডিস্ক

6 => র‌্যাম ডিস্ক


2
@echo off
echo list volume > scriptdiskpart
diskpart/s scriptdiskpart
del scriptdiskpart
pause

আমি এটি চেষ্টা করেছিলাম এবং এটি কার্যকর হয়নি। আমি মনে করি / s এর সামনে একটি জায়গা থাকা দরকার কিন্তু সেই পরিবর্তন সহ এটি কার্যকর হয়নি। উপরেরটি আমি একটি ফাইলে রেখেছি, ডি.বাট এবং আমি ডিস্ক পার্ট উইন্ডোটি ফ্ল্যাশ হয়ে দেখি তবে অদৃশ্য হয়ে যায় এবং যেখানে আমি এটি চালাচ্ছি সেখানকার সিএমডি শেলটি বিরতি প্রদর্শন করে দেখায়।
slm

1
for %a in (c: d: e: f: g: h: i: j: k: l: m: n: o: p: q: r: s: t: u: v: w: x: y: z:) do @vol %a 2>&1 | find "drive"

আমি ডিস্ক পার্ট পদ্ধতির ডিভিডি ড্রাইভের কোনও ডিস্ক না inুকানো রিপোর্ট করে এবং বৈধ ড্রাইভ ভলিউমের সাথে এসডি কার্ডের প্রতিবেদন করি না


উইন্ডোজ এক্সপির পক্ষে কাজ করে না
টাইলার লং

1
for %%p in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do if exist %%p:\nul your_command_and_parameters_here

0

কিছুটা ক্লডজি, তবে একটি ব্যাচ ফাইল থেকে কাজ করে:

echo LIST VOLUME > temp.txt && diskpart /s temp.txt && del /q temp.txt

0

যদিও এর যথেষ্ট উত্তর রয়েছে, আপনি যখন এটি ব্যাচ ফাইলে ব্যবহার করতে চান তখন আমি একটি যুক্ত করতে চাই। আপনি যদি "অবৈধ জিইটি এক্সপ্রেশন" পান তবে নীচের মত আপনি একটি ',' এর আগে রাখতে পারেন:

for /F "usebackq tokens=1,2,3,4 " %%i in (`wmic logicaldisk get caption^,providername^,drivetype^,volumename 2^>NUL`) do echo %%i %%l

^এটি এখানে কি করে ?
ভোনব্র্যান্ড

এটি সেন্টিমিডেক্সের পালানোর চরিত্র, শেলসের মতো ইউনিক্সের মতো।
জিম্পফ

-1
@ECHO OFF
IF NOT EXIST A: GOTO B
:A
VOL A:
:B
IF NOT EXIST B: GOTO C
VOL B:
:C
IF NOT EXIST C: GOTO D
VOL C:
:D
IF NOT EXIST D: GOTO E
VOL D:
:E
IF NOT EXIST E: GOTO F
VOL E:
:F
IF NOT EXIST F: GOTO G
VOL F:
:G
IF NOT EXIST G: GOTO H
VOL G:
:H
IF NOT EXIST H: GOTO I
VOL H:
:I
IF NOT EXIST I: GOTO J
VOL I:
:J
IF NOT EXIST J: GOTO K
VOL J:
:K
IF NOT EXIST K: GOTO L
VOL K:
:L
IF NOT EXIST L: GOTO M
VOL L:
:M
IF NOT EXIST M: GOTO N
VOL M:
:N
IF NOT EXIST N: GOTO O
VOL N:
:O
IF NOT EXIST O: GOTO P
VOL O:
:P
IF NOT EXIST P: GOTO Q
VOL P:
:Q
IF NOT EXIST Q: GOTO R
VOL Q:
:R
IF NOT EXIST R: GOTO S
VOL R:
:S
IF NOT EXIST S: GOTO T
VOL S:
:T
IF NOT EXIST T: GOTO U
VOL T:
:U
IF NOT EXIST U: GOTO V
VOL U:
:V
IF NOT EXIST V: GOTO W
VOL V:
:W
IF NOT EXIST w: GOTO X
VOL W:
:X
IF NOT EXIST X: GOTO Y
VOL X:
:Y
IF NOT EXIST Y: GOTO Z
VOL Y:
:Z
IF NOT EXIST Z: GOTO END
VOL Z:
:END

উম, বাহ! সুতরাং আপনি যদি এটি এমন কিছুতে ছড়িয়ে দিতে পারেন যা সিস্টেমে কেবলমাত্র ড্রাইভ অক্ষর এবং লেবেলগুলিকে আউটপুট দেয় যা প্রশ্নের উত্তরের নিকটবর্তী হবে যদিও এটি সঠিক দিক থেকে এটি ন্যূনতম আন্দোলন।
ক্রিস ম্যাগনসন 21

আমি মানদণ্ড পূরণ করে এমন একটি সমাধান সরবরাহ করার জন্য নীচে ভোট পাচ্ছি? বাহ ...
স্কট

4
ভাল, একটি জিনিসের জন্য, এটি ড্রাইভগুলির জন্য ত্রুটি তৈরি করে যা বিদ্যমান আছে তবে কোনও মিডিয়া নেই, যেমন সিডি / ডিভিডি ড্রাইভ।
পরবর্তী বিজ্ঞপ্তি না দেওয়া পর্যন্ত বিরতি দেওয়া হয়েছে।

ধারণার জন্য +1
টাইলার লং

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