2014-06-10 4 views
0

다른 질문이 있습니다. 이번에는 FC 콘솔 명령에 관한 내용입니다. 채팅 프로그램을 만들고 있는데 문제가 있습니다 :두 파일을 비교하는 방법

사람들이 비밀번호를 변경할 수있게하고 싶지만 비밀번호가 마지막 비밀번호와 동일한 비밀번호인지 확인하려면 어떻게해야합니까?

편집 : 대답은 Stephan에게 감사드립니다!

if "%newpassword%"=="%oldpassword%" echo same password 

EDIT2 : 명령은 위의 경우에 민감한 단어를 인식하지 않습니다. 그러나 FC 명령을 사용하여이 문제를 직접 해결했습니다.

+1

'의 경우 "%의 NEWPASSWORD의 %"를 포함하는 디렉토리에서 passwords.txt 장소 배치 파일 == "%를 OLDpassword %"에 같은 password' – Stephan

+0

에코 두 파일을 fc와 비교해 보라 :'fc a.txt b.txt && echo same || 에코 다르다' – Stephan

+1

"C와 C의 차이를 알지 못한다"는 것은 무엇을 의미합니까? 기본적으로 'IF'명령은 대소 문자를 구분합니다. 즉 'C'≠ 'c'라고 판단합니다. 'C '를'c'와 동일하게보기 위해서)'/ I '스위치를 사용할 수 있습니다 :'IF/I "% newpassword %"== "% oldpassword %" ... '. –

답변

1

확실하지 않습니다. 원하는 것을 선택하십시오. fc은 파일을 비교하는 것이므로 두 변수를 비교하려는 것 같습니다.

여기 두 답변이 있습니다.

비교하려면 변수 :

if "%newpassword%"=="%oldpassword%" echo same password 

가 FC 두 파일을 비교하기 위해 다음을 읽는 데 사용하는 경우

fc a.txt b.txt && echo same || echo different 
0

를 이전에 사용 된 암호를 포함하는 파일이 있다고 가정 할 때,이 코드 도움이 될 것입니다 파일 내용.

예를 들면 다음과 같습니다.

파일 포함 암호 = passwords.txt 파일

@echo off 
Setlocal enabledelayedexpansion 
: begin 
For /f "tokens=*" %%a in (passwords.txt) do (
    Set /p np= enter new password : 
    If "%%a"=="!np!" (
    Echo same password! 
    Pause 
    Goto begin 
) else (
    Set "newpass=!np!" 
    Echo !newpass!>passwords.txt 
    Echo password changed 
    Pause 
    Goto begin 
) 
) 
+0

그건 내가 원한 것이 아닙니다. –