내 변수가 올바른 방법으로 확장되지 않는 박쥐 파일을 사용하여 데이터베이스에서 작업하고 있습니다.내 변수가 제대로 확장되지 않는 이유
편집 :
나는 위의 시도하고 그런 운이 없었다.
이 공연에 필요한 모든 코드입니다 :
set n=0
:1
echo.
set /p fname=Enter First Name:
set /p lname=Enter Last Name:
set /p val%n%=Enter E-mail:
set /p num%n%=Enter Phone Number:
set /p var%n%=Enter Service Number:
set /p dvice%n%=Enter Device:
set /p dserv%n%=Enter Date Serviced:
set /p summ%n%=Enter Summary of Service:
@echo set var%n%=!var%n%! > "C:\Documents and Settings\Administrator\Desktop\My Personal Files\Computer Refresh\Database\%lname%.bat"
@echo set val%n%=!val%n%! >> "C:\Documents and Settings\Administrator\Desktop\My Personal Files\Computer Refresh\Database\%lname%.bat"
@echo set fname=%fname% >> "C:\Documents and Settings\Administrator\Desktop\My Personal Files\Computer Refresh\Database\%lname%.bat"
@echo set lname=%lname% >> "C:\Documents and Settings\Administrator\Desktop\My Personal Files\Computer Refresh\Database\%lname%.bat"
@echo set dvice%n%=!dvice%n%! >> "C:\Documents and Settings\Administrator\Desktop\My Personal Files\Computer Refresh\Database\%lname%.bat"
@echo set dserv%n%=!dserv%n%! >> "C:\Documents and Settings\Administrator\Desktop\My Personal Files\Computer Refresh\Database\%lname%.bat"
@echo set summ%n%=!summ%n%! >> "C:\Documents and Settings\Administrator\Desktop\My Personal Files\Computer Refresh\Database\%lname%.bat"
@echo set num%n%=!num%n%! >> "C:\Documents and Settings\Administrator\Desktop\My Personal Files\Computer Refresh\Database\%lname%.bat"
@echo set n=%n% >> "C:\Documents and Settings\Administrator\Desktop\My Personal Files\Computer Refresh\Database\%lname%.bat"
echo.
echo The data has been stored!
echo.
pause > nul
goto start
:2
echo.
echo LAST NAME IS CASE SENSITIVE!
set /p lname=Please enter last name:
echo.
if /i not exist "C:\Documents and Settings\Administrator\Desktop\My Personal Files\Computer Refresh\Database\%lname%.bat" (goto Error)
call "C:\Documents and Settings\Administrator\Desktop\My Personal Files\Computer Refresh\Database\%lname%.bat"
echo First Name: %fname%
echo Last Name: %lname%
echo Device: !%dvice%%n%!
echo Date of Service: !dserv%n%!
echo.
echo E-Mail: !val%n%!
echo Phone: !num%n%!
echo.
echo Summary:
echo.
echo !summ%n%!
echo.
pause > nul
goto start
이 내가 작업하는 모든 것입니다. % lname % .bat는 변수를 var0 = "variable of value"로 저장합니다. 문제는 var0을 읽지 못하는 것입니다. 그것은! var 0!을 읽습니다.
문제를 진단 할 수있는 코드를 아직 제공하지 않았습니다. 아마도 문제는 값이 설정되지 않았거나 그렇지 않으면 값이 ENDLOCAL 또는 기타 유사한 이유로 인해 손실 된 것입니다. 모든 정의 된 변수를 보려면 인수없이'set'을 시도하십시오. – dbenham
게시물을 길게 만들었 기 때문에 실제로 코드를 삭제했습니다. 변수는! var % n %!로 설정되었습니다. 그리고 올바르게 보관되었습니다. 그냥 읽을 수 없습니다. –
내 제안을 따르고 코드 끝에'set' 명령 (인수없이)을 넣어 모든 현재 정의 된 변수를 나열하는 것이 좋습니다. 변수가 더 이상 정의되지 않았 음을 확신합니다. Magoo가 그의 대답에 언급 한 것처럼 문제는 당신이 보여주지 않는 이전 코드에 있습니다. – dbenham