Назначение имени файла переменной в пакетном режиме, поиск и выполнение - PullRequest
0 голосов
/ 27 мая 2020

Мне нужно очень простое и базовое c решение следующей проблемы: я прошу ввести переменную и пытаюсь сопоставить, существует ли файл. Если он существует в определенном каталоге, я хочу его выполнить. Обратите внимание, что на самом деле это файл списка воспроизведения musi c (.zpl), который можно запустить только через Groove Musi c на моем компьютере.

Я попытался добиться этого с помощью следующих строк, но безрезультатно.

@echo off
cd/
D:
cd Songs
cd Playlists
set /p playlist = "Enter your playlist name."
if exist "%playlist%" %playlist%

Было бы здорово, если бы кто-нибудь мог это решить.

Спасибо,

PS Я также хочу, чтобы файл выдавал ошибку, если нет такой плейлист есть. Еще не пробовал.

Ответы [ 2 ]

0 голосов
/ 28 мая 2020

Я только что создал немного лучшую версию того же самого в следующих строках: -

        @echo off
        :1
        cd \
        cd /d D:\Songs\Playlists
        set /P c="Do you want to see some playlists[Y/N]?"
        if /I "%c%" EQU "Y" tree /f
        if /I "%c%" EQU "N" goto 3
        :3 
        set /p playlist="Enter your playlist name."
        if exist "%playlist%.zpl" "%playlist%.zpl"
        if not exist "%playlist%.zpl" goto 2
        :2
        echo "Sorry, no such playlist was found."
        set /P c=Are you sure you want to exit this file[Y/N]?
        if /I "%c%" EQU "Y" exit
        if /I "%c%" EQU "N" goto 1

Это покажет вам некоторые списки воспроизведения, которые уже существуют на вашем компьютере, и вы можете скопировать и вставить их. Это также более удобно.

0 голосов
/ 28 мая 2020

Я наконец-то нашел способ ответить на поставленный мною вопрос. Вот код: -

        @echo off
        :1
        cd \
        cd /d D:\Songs\Playlists
        set /p playlist="Enter your playlist name."
        if exist "%playlist%.zpl" "%playlist%.zpl"
        if not exist "%playlist%.zpl" goto 2
        :2
        echo "Sorry, no such playlist was found."
        set /P c=Are you sure you want to exit this file[Y/N]?
        if /I "%c%" EQU "Y" exit
        if /I "%c%" EQU "N" goto 1

Спасибо @aschipfl за вклад в этот ответ. Надеюсь, это поможет.

...