LAN 네트워크 컴퓨터에 대해 일괄 적으로 채팅 스타일 시스템을 만들고 있습니다. 사용자 이름을 가져 왔는지 여부를 확인하고 선택을 허용하지 않는 경우 사용자가이 줄에 입력 한 내용 (set/p name2 =)을 어떻게 확인할 수 있습니까? 테스트에서 이것을 시도했습니다. 파일을 읽을 수는 있지만 작동하지 않습니다.사용자 입력이 배치와 함께 txt 파일에 있는지 확인하십시오.
:startup
set "fail="
set "name2="
set /p "name2=Enter Your Username: "
cls
findstr /b /e /l /c:"%name2%" <"Users.twml" >nul || set fail=1
if defined fail (
goto nope
)
:yes
cls
echo yes, you can use that
echo >> Users.twml %name2%
pause
goto endoftest
:nope
cls
echo thats taken try again
ping locahost -n 3 >nul
goto startup
이름이 사용되지 않아도 문제는 항상 사라집니다. Users.twml 파일이 생성되고 수동으로 넣으면 : 예. 사용자가 이름을 선택한 후에로드됩니다. 이름을 파일에 저장합니다.
내가 원하는 것 : 사용자가 이름을 선택하면 파일에있는 파일이 있는지 확인하고 (예) goto 시작으로 다시 시도하고, 실행하지 않으면 다시 파일에 쓰고 계속 진행합니다. 바람직하게는 고토 섹션 명령 그래서 내가 가고 위치를 지정할 수 있습니다 ... 아니
위의 코드 블록은 내가 아래의 물건은 내가 현재 무엇을 사용 ^^^
도움이 필요하고 그냥 작동 이름 확인. 여기
이 내가 당신에게 시각적 아이디어를 제공하는 이동하기 위해 노력하고있어 무엇 실명 인증:startup
cls
echo Pick A UserName
echo 1-16 Character limit.
set /p name2=
if "!name2!" == "" goto startup
if "!name2!" == " " goto startup
if "!name2!" == " " goto startup
if "!name2!" == " " goto startup
if "!name2!" == " " goto startup
if "!name2!" == " " goto startup
if "!name2!" == " " goto startup
if "!name2!" == " " goto startup
if "!name2!" == " " goto startup
if "!name2!" == " " goto startup
if "!name2!" == " " goto startup
if "!name2!" == " " goto startup
if "!name2!" == " " goto startup
if "!name2!" == " " goto startup
if "!name2!" == " " goto startup
if "!name2!" == " " goto startup
if "!name2!" == " " goto startup
if not "!name2:~16!" == "" goto over
REM continues on after name picked if matches above requirements with stuff below
echo >> Connected.twml [System] %computername%:%username% Has joined as: %name2%
echo >> Directory.twml [System] %name2% Has joined the chat.
goto chat
없이 작동하고 사용하는 이름 선택에 내가 현재 가지고있는 블록이다. 그리고 현재
:startup
cls
echo Pick A UserName
echo 1-16 Character limit.
set "fail="
set /p name2=
if "!name2!" == "" goto startup
if "!name2!" == " " goto startup
if "!name2!" == " " goto startup
if "!name2!" == " " goto startup
if "!name2!" == " " goto startup
if "!name2!" == " " goto startup
if "!name2!" == " " goto startup
if "!name2!" == " " goto startup
if "!name2!" == " " goto startup
if "!name2!" == " " goto startup
if "!name2!" == " " goto startup
if "!name2!" == " " goto startup
if "!name2!" == " " goto startup
if "!name2!" == " " goto startup
if "!name2!" == " " goto startup
if "!name2!" == " " goto startup
if "!name2!" == " " goto startup
if not "!name2:~16!" == "" goto over
REM all the above works, now lets try to check if its taken
findstr /b /e /l /c:"%name2%" <"Users.twml" >nul || set fail=1
if defined fail (
goto nope
)
REM continues on after name picked if matches above requirements with stuff below
echo >> Connected.twml [System] %computername%:%username% Has joined as: %name2%
echo >> Directory.twml [System] %name2% Has joined the chat.
echo >> Users.twml %name2%
goto chat
:nope
cls
echo thats taken try again
ping locahost -n 3 >nul
goto startup
이 경우 users.twml의 내부가 모습입니다 작동하지 않습니다 : 예 경우가 제대로
username1
username2
username3
username4
실행 @@@@@@@@@@ 새로운 편집 [email protected]@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
텍스트 파일에서 % user2 %와 주 파일에서 % name2 %를 사용했기 때문에 모두 함께 작동하지 않습니다. 아직도 findstr을 이해하지 못합니다 ... 이것은 왜 당신이 낮은 수면과 함께 1am에 어떤 형태로든 코드를 작성하지 않습니다. :)
XML과 유사한 마크 업 언어를 제안하므로 'Users.twml' 파일의 예제를 제공하는 것이 좋습니다. – Compo
파일이 어떻게 보이는지 추가했습니다. 배치 라인별로 파일에 추가되었습니다. >> % twml % echo % user2 % –