Как прочитать метку диска или тома в командном файле? - PullRequest
2 голосов
/ 28 декабря 2011

Я пытаюсь написать командный файл, чтобы скопировать мои DVD на жесткий диск.Я хотел бы, чтобы имена файлов были меткой тома DVD, но я не смог определить способ чтения метки диска в командном файле.

Есть ли способполучить метку тома диска в командном файле, чтобы я мог использовать его в качестве имени файла?

Ответы [ 3 ]

4 голосов
/ 27 августа 2012

более полно. Запрограммированная как подпрограмма у нас есть

@echo off & setlocal enableextensions
set target_=D:
::
call :IsDeviceReady %target_% isready_
echo Device %target_% ready: %isready_%
if /i "%isready_%"=="false" (endlocal & goto :EOF)
::
call :GetLabel %target_% label_
echo The label of Volume %target_% is %label_%
endlocal & goto :EOF
::
:IsDeviceReady
setlocal
set ready_=true
dir "%~1" > nul 2>&1
if %errorlevel% NEQ 0 set ready_=false
endlocal & set "%2=%ready_%" & goto :EOF
::
:GetLabel
setlocal
for /f "tokens=5*" %%a in (
  'vol "%~1"^|find "Volume in drive "') do (
    set label_=%%b)
endlocal & set "%2=%label_%" & goto :EOF

Первоначально из http://www.netikka.net/tsneti/info/tscmd101.htm#label

2 голосов
/ 28 декабря 2011

Попробуйте это:

for /f "tokens=1-5*" %%1 in ('vol') do (
   set vol=%%6 & goto done
)
:done
echo %vol%
0 голосов
/ 28 декабря 2011

Команда vol даст вам имя тома в MS SHELL

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...