선택을 요청하는 배치 파일이 있습니다. 선택하면 "확실합니까?"라고 묻는 메시지가 표시됩니다. 대답이 빈 문자열이고 Enter를 누르면 대답이 "h"이고 Enter가 "아니오"이면 "예"로 승인됩니다. 그러나 문제는 두 번째로 작동하지 않는다는 것입니다 (엔터를 눌렀을 때 예로 받아들이지 않습니다), (문제는
set /p
).
PC에서 확인하려면 코드의 첫 부분을 변경해야합니다.
@echo off
@for %%a in ( C D E F G H I J K L M N O P Q R S T U V W X Y Z ) do @if exist %%a:\TAM_IMAGES set The_Drive=%%a
@for %%b in ( C D E F G H I J K L M N O P Q R S T U V W X Y Z ) do @if exist %%b:\DenemeJpg.bat set applyimage=%%b
REM @dir %The_Drive%:\TAM_IMAGES
REM @dir %applyimage%:\DenemeJpg.bat
cd %The_Drive%:\TAM_IMAGES
setlocal enabledelayedexpansion
:input
set count=100
for /f "delims=" %%a in ('dir /b /a-d') do (
set /a count+=1
echo !count:~-2!] %%a
)
set /a countMax=count-100
set "countNr=%count:~-2%"
<nul set /p "= Yuklemek istediginiz imaji seciniz "
choice /c 1234567890 /n >nul
set first=%errorlevel:~-1%
<nul set /p "=%first%"
choice /c 1234567890 /n >nul
echo %errorlevel:~-1%
set ch=%first%%errorlevel:~-1%
REM echo [%file%] Imajini sectiniz.
set /a line=1%ch%-101
REM echo debug: ch=%ch%;CountNr=%countNr%;CountMax=%CountMax%,Line=%line%
if "%ch%" == "00" goto escape
if %ch% gtr %countMax% echo bad input&goto :input
for /f "delims=" %%a in ('dir /b /a-d^|more +%line%') do set "file=%%a"&goto :cont
:cont
SET /P KeyPressed=%file% imajini sectiniz, emin misiniz?
IF [%KeyPressed%] EQU [] goto devam
IF %KeyPressed% EQU h goto input
:devam
REM echo %ch% - %file% imajını sectiniz.
start "" %applyimage%:\DenemeJpg.bat
REM %The_Drive%:\TAM_IMAGES\%file%
REM goto :eof
cmd /k
:escape
echo you choosed '00' for exit.
- 답변 # 1
관련 자료
- windows - \\ wsl $의 주소 표시 줄에서 실행 된 배치 스크립트가 예상대로 작동하지 않습니다
- javascript - 두 번째 더블 클릭 기능이 작동하지 않습니다
- sql - 디코딩으로 업데이트가 작동하지 않습니다 왜 널 데이터가 입력됩니까?
- python - matplotlib 332로 업그레이드 할 때 애니메이션이 작동하지 않습니다
- javascript - 두 번째 문자 입력마다 포인트 삽입
- reactjs - 사용자 지정 반응 후크가 작동하지 않는 입력 양식 설정
- javascript - 두 번째 이미지를 추가 할 수 없습니다 첫 번째 이미지 입력 만 작동
- javascript - RegEx는 React 제어 입력으로 작동하지 않습니다
- javascript - 반응 형 데이터 테이블 내부의 업데이트 입력 값이 작동하지 않음
- HTML FORM의 입력 유형 FILE이 Safari 버전 1401에서 작동하지 않음 (146102115110)
- reactjs - 양식에서 작동하지 않는 React 입력 유효성 검사
- javascript - 반응 - onchange 및 onkeydown을 사용할 때 입력이 작동하지 않음
- firebase - 페이지를 새로 고치면 JavaScript가 작동하지 않습니다
- html - 내 JavaScript 두 번째 카운터가 작동하지 않는 이유는 무엇입니까?
- php - 일본어 입력에서 트림 기능이 제대로 작동하지 않는 이유는 무엇입니까?
- c++ - 내 코드가 12보다 큰 입력에 대해 작동하지 않는 이유는 무엇입니까?
- 파이썬 스크립트에서 작동하지 않는 입력 함수
- HTML 양식 입력 유형 ="비밀번호"CSS가 작동하지 않음
- hard drive - HDD 연결 후 1 초간 동작 후 연결 해제
아무 것도 입력하지 않으면 ({ENTER} 만)
set /p
프롬프트에서 변수를 지우지는 않지만 변경되지 않은 상태로 둡니다. 코드 (goto :input
), 전에 변수를 지워야합니다.set /p
:더 안전한 구문을 사용하겠습니다.
if "%KeyPressed" == ""
과if /i "%KeyPressed" == "h"
.