CMD/BAT - Помогите изменить вывод результата команды

Ответить
Аватара пользователя
alex85tor

CMD/BAT - Помогите изменить вывод результата команды

Сообщение alex85tor »

Требуется получить список разделов на жёстком диске в виде С:,D:,E:,F: и так далее, в зависимости от количества разделов, они должны быть разделены запятой без пробелов и после последнего диска не должно быть запятой.

Вот код моего батника, он выдаёт C:D:E:F, помогите пожалуйста его исправить:

@echo off

@setlocal ENABLEDELAYEDEXPANSION

for /f "skip=1 tokens=1 usebackq" %%i in (`wmic logicaldisk where "driveType=3" get name`) do @if not X%%i==X set DISKS=!DISKS!%%i

echo %DISKS%

pause

exit
Аватара пользователя
alex85tor

Re: CMD/BAT - Помогите изменить вывод результата команды

Сообщение alex85tor »

есть ещё вариант, но выдаёт буквы дисков с пробелами через запятую, а надо без них. Вот он:

@echo off

@setlocal ENABLEDELAYEDEXPANSION

for /f "skip=1 tokens=1,2,3 usebackq" %%i in (`wmic logicaldisk where "driveType=3" get name`) do @if not X%%i==X set DISKS=!DISKS!%%i,

echo %DISKS:~0,-5%

pause

exit
Аватара пользователя
alex85tor

Re: CMD/BAT - Помогите изменить вывод результата команды

Сообщение alex85tor »

всё сделал сам, если кому необходимо то вот:

@echo off

@setlocal ENABLEDELAYEDEXPANSION

for /f "skip=1 tokens=1,2,3 usebackq" %%i in (`wmic logicaldisk where "driveType=3" get name`) do @if not X%%i==X set DISKS=!DISKS!%%i,

echo %DISKS:~0,-3%

pause

exit
Аватара пользователя
alex85tor

Re: CMD/BAT - Помогите изменить вывод результата команды

Сообщение alex85tor »

Код:

Код: Выделить всё

@Echo Off
cls
	Set "D="
	For /f "usebackq delims=:" %%d In (`wmic logicaldisk where "driveType=3" get name ^|Find ":"`) Do Call Set "D=%%D%%,%%d:"
	Set "D=%D:~1%
	Echo %D%
pause
Exit /B 0
Ответить

Вернуться в «Скриптовые языки администрирования Windows»