У меня есть программа, которая должна искать файлы в заданном каталоге, а затем дать вам возможность удалить их. код:
@echo off
set counter=0
set counter2=0
setlocal enableextensions
setlocal enabledelayedexpansion
:menu
cls
echo.
echo ---------------------------------------------------------------------------------------------------
echo.
echo ----------------------------------------Search By File Type----------------------------------------
echo.
echo ---------------------------------------------------------------------------------------------------
set /p inputE= Please type the file extension (ex, txt):
set /p inputP= Please enter location to search (ex, C:\):
::'where /r %inputP% *.%inputE%'
for /f "tokens=*" %%a in (
'where /r %inputP% *.%inputE%'
) do (
echo !counter! - %%a
set file!counter!=%%a
set /a counter+=1
)
set /a counter -= 1
set fileDel=file!counter!
echo !%fileDel%!
:delete
set /p del = Type E to exit, R to make another search, A to delete all items, or the array number to delete a specific number:
set "var="&for /f "delims=0123456789" %%i in ("%del%") do set var=%%i
if %del% == E (
exit
) else if %del% == A (
echo this does not work yet
goto delete
) else if %del% == R (
goto menu
) else if defined var (
echo %del% is not an answer, please enter a new answer
goto delete
) else (
set /p finalC= Are you sure you want to delete %del%? (Y/N)
if %finalC% == Y (
set “fileDel=file%del%”
del !%fileDel%! /q
goto end
) else if %finalC% == N (
goto delete
)
)
:end
set /p next= Type E to exit, D to delete another item, or R to make a new search:
if %next% == R goto menu
if %next% == D goto delete
if %next% == E exit
Код работает, пока не попадет в раздел: delete. когда там, независимо от того, что вход, он выходит из программы. Почему это происходит? а должен ли код для удаления файла работать?