У меня есть командный файл, который копирует некоторые файлы на основе пользовательского ввода, и я хочу упростить его. Если пользователь вводит букву A в приглашении, он копирует A.txt из C: \ в E: \ По сути, это выглядит так:
set /p letter="Enter a letter of the alphabet"
if /i [%letter%]==[A] GOTO LetterA
if /i [%letter%]==[B] GOTO LetterB
if /i [%letter%]==[C] GOTO LetterC
:LetterA
robocopy C:\ E:\ A.txt
:LetterB
robocopy C:\ E:\ B.txt
:LetterC
robocopy C:\ E:\ C.txt
:end
Должен ли я печатать / копировать каждая строка для каждой буквы алфавита, как для оператора IF, так и для команды goto, которую она вызывает? Могу ли я выполнить sh это проще с помощью оператора for для l oop или if и, в основном, сказать ..
For %letter%
robocopy C:\ E:\ %letter%.txt
Или как оператор IF, ссылающийся на файл list.txt .. тогда как list. txt содержит все буквы алфавита ..
IF %letter% in (C:\list.txt)
then robocopy C:\ E:\ %letter%.txt