Как записать букву съемного устройства в переменную с помощью CMD? - PullRequest
1 голос
/ 02 апреля 2020

Я пишу программу на .bat. Предположим, командная строка на D:\>. Мне нужно написать письмо D в переменной. Это возможно?

Ответы [ 2 ]

3 голосов
/ 02 апреля 2020

Этот сценарий сохраняет диск текущего пути как переменную:

for %%a in ("%__CD__%") do set "disk=%%~da"
set "disk=%disk:~0,1%"

Редактировать : в качестве альтернативы,

FOR /F %%a in ('prompt $N ^& cmd /k ^<nul') do set disk=%%a

Источники:

1 голос
/ 03 апреля 2020

Вам может не потребоваться дополнительный for l oop для определения драйвера, поскольку у вас есть системная переменная %cd% или %__CD__% для этой задачи используйте ее через переменную подстроки

%CD:~0,1%

rem :: or...
%__CD__:~0,1%

@echo/%CD:~0,1%

rem :: or...
@echo/%__CD__:~0,1%

@set "drive=%CD:~0,1%"

rem :: or...
@set "drive=%CD:~0,1%

@set "drive=%__CD__:~0,1%"

Obs.: Также работает %CD:~,1%, %__CD__:~,1%

Манипуляции со строками в файле bat / cmd

...