Разбить переменную и сохранить ее части в сценарии командной строки Windows - PullRequest
0 голосов
/ 21 января 2019

Мне нужно запросить три переменные в моем пакетном скрипте:

set /p artist=Artist:
set /p album=Album:
set /p title=Title:

Однако, переменная %~1 равна <Artist> - <Album> - <Title>

Есть ли способ, которым я взрываю эту переменную и получаючасти?

1 Ответ

0 голосов
/ 22 января 2019

Мне удалось это выяснить, и я публикую информацию для других, если они сочтут ее полезной.

REM Remove extension and full path
SET file=%~1
SET file=%file:.mp3=%
For %%A in ("%file%") do (SET file=%%~nxA)

REM : Get artist, album, and title from filename
REM : Only one character deliminator can be used, so replace " - " to "*" first
SET ftemp=%file: - =*%
for /f "tokens=1,2,3,4 delims=*" %%a in ("%ftemp%") do set artist=%%a&set title=%%b&set key=%%c&set ref=%%d
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...