.bat файл переопределения ответа

<!-Когда я сделал этот пакетный файл, при вводе y и n в первый раз он работает нормально, но как только я выбираю n, каждый раз, когда я пытаюсь что-то ввести, он открывает список 7000 песен wpl, затем закрывает его и заменяет его Риком Эстли...

помогите!

@echo off
:Ask
echo Would you like to listen to the best songs out of the 7000 I have?(Y/N)
set INPUT=
set /P INPUT=Type input: %=%
If /I "%INPUT%"=="y" goto yes 
If /I "%INPUT%"=="n" goto lolno
echo Incorrect input & goto Ask
:yes
start c:/Users/MyName/Music/Playlists/"The Best of the 7000 songs that I have.wpl"
:lolno
start c:/Users/MyName/Music/Downloads/Music/"Various Artists"/"The Number One 80's Album Disc 2"/"06 Never Gonna Give You Up.mp3"
15
задан Scott
10.05.2023 1:20 Количество просмотров материала 3515
Распечатать страницу

2 ответа

start использует первый заключенный в кавычки аргумент, который встречается как заголовок окна новый cmd сессии. Если вы хотите start все, в чем есть пробелы, нужно делать так:

start "" "%UserProfile%\Music\Playlists\The Best of the 7000 songs that I have.wpl"

также используйте обратную косую черту в cmd исключительно при работе с путями в качестве аргументов для встроенных команд. Windows API достаточно умен, чтобы перевести косые черты для вас, но cmd использует / для коммутаторов и именованных аргументов и его парсер путается иногда, так что лучше избегать этого.

0
отвечен Joey 2023-05-11 09:08

как работают ярлыки, он идет к этому ярлыку, а затем продолжает вниз. С вашим примером:

:yes
start c:/Users/MyName/Music/Playlists/"The Best of the 7000 songs that I have.wpl"
:lolno
start c:/Users/MyName/Music/Downloads/Music/"Various Artists"/"The Number One 80's Album Disc 2"/"06 Never Gonna Give You Up.mp3"

goto yes будет работать (перейти к :yes и дальше вниз):

:yes
start c:/Users/MyName/Music/Playlists/"The Best of the 7000 songs that I have.wpl"
:lolno
start c:/Users/MyName/Music/Downloads/Music/"Various Artists"/"The Number One 80's Album Disc 2"/"06 Never Gonna Give You Up.mp3"

goto lolno будет работать (перейти к :lolno и дальше вниз):

:lolno
start c:/Users/MyName/Music/Downloads/Music/"Various Artists"/"The Number One 80's Album Disc 2"/"06 Never Gonna Give You Up.mp3"

что вам нужно сделать, это добавить goto :eof (eof означает "конец файла") или exit /b в конце любого сегмента этикетки вы не собираетесь провалиться:

:yes
start c:/Users/MyName/Music/Playlists/"The Best of the 7000 songs that I have.wpl"
goto :eof

:lolno
start c:/Users/MyName/Music/Downloads/Music/"Various Artists"/"The Number One 80's Album Disc 2"/"06 Never Gonna Give You Up.mp3"
goto :eof

либо команда завершит работу скрипта. Вы также можете определить другую метку под ними, чтобы перейти к ней, если хотите.

0
отвечен Bob 2023-05-11 11:25

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх