Пакетное меню выбора нескольких - PullRequest
0 голосов
/ 31 декабря 2018

Я создал пакетное меню, которое отображает все файлы .txt в папке и назначает каждому файлу номер.Основываясь на этом уроке: Программирование пакетных сценариев - Как разрешить пользователю выбирать файл по номеру из списка файлов в папке? - Это работает очень хорошо, но я хочу, чтобывыберите более 1 файла.Например, пользователь может выбрать, например, 1,2,4 , и в новой переменной я получу имена всех файлов первого файла, который был указан в списке, второго и четвертого.

Кроме того, изменяется число файлов .txt , поэтому я не знаю, сколько файлов .txt будет в папке, и я хочу позволить пользователю выбрать какмного как файл он хочет - 1 файл или больше.Мне нужны файлы в переменной 1, потому что я хочу, чтобы после того, как пользователь решил использовать приложение третьей части, которому нужны все имена файлов в 1 строке, я хочу написать что-то вроде:

"Do this command with %all_files_from_batch_menu%"

Надеюсь, это было понятно... Спасибо!

Вот пример. Допустим, у меня в папке 5 файлов a.txt b.txt c.txt d.txt e.txt - Я хочу менючтобы показать их и присвоить номера каждому файлу, и если пользователь выберет 1,2,4 , он напишет ему, что вы выберете a.txt b.txt e.txt

1 Ответ

0 голосов
/ 31 декабря 2018

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

@echo off
setlocal EnableDelayedExpansion

rem Create array / show the list
cls
set "n=0"
for %%a in (*.txt) do (
   set /A n+=1
   set "file!n!=%%a"
   echo !n!- %%a
)

set /P "files=Enter desired files: "

rem Extract the files
set "result=!file%files:,=! !file%!"

echo %result%

Пример вывода:

1- a.txt
2- b.txt
3- c.txt
4- d.txt
5- e.txt
Enter desired files: 1,2,4
a.txt b.txt d.txt

Примечание: номер файла 4: d.txt , , а не e.txt как вы указали в вопросе ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...