Я пишу простой командный файл для создания новых, определяемых пользователем файлов. Мой вопрос заключается в том, как принимать входные данные для расширения с периодом или без него и не давать двупериодный (то есть имя1..txt). Я также хочу, чтобы не печатать инструкции, чтобы они включали/не включали его. Спасибо за помощь!Как основать условные утверждения о существовании переменной substring
Мой подход ниже. Я хочу найти период в начале переменной расширения, ext и запустить соответствующий цикл FOR для создания файлов.
setlocal enabledelayedexpansion
set num=
set name=
set ext=
:setnum
set /P "num=Number of files to create?: "
If not defined num Echo.&Echo You must enter a number to continue...&goto:setnum
:setname
set /P "name=Enter "root" name of file:"
If not defined name echo.&Echo You must enter the name of your new files to continue...&goto:setname
:setext
set /P "ext=What will be the file extension?:"
If not defined ext echo.&Echo You must enter an extension to continue...&goto:setext
pause
%ext:~0,1% | FINDSTR /R "[.]" && pause & goto:extNoDot
%ext:~0,1% | FINDSTR /R "[.]" || pause & goto:extYesDot
:extNoDot
for /L %%a in (1,1,%num%) do (echo %%a >> !name!%%a%ext%)
goto:eof
:extYesdot
for /L %%a in (1,1,%num%) do (echo %%a >> !name!%%a.%ext%)
goto:eof
:eof
EXIT /b
Спасибо тонну! Такое более элегантное решение. И спасибо за разъяснение двух строк findstr. Я не понимал, что нужно эхо. Спас меня! – Glycoversi