1

私はこれを試しましたが、エラーを返し続けますthe syntax of the command is incorrect。これが私が試したコードです:

@echo off
echo Enter Username and Password to view files

set /p user=Enter UserId:
set /p pass=Enter Password:

if /i %user%==admin (if /i %pass%==*my password was here*)

(goto admin1)

:admin1
..etc..
4

2 に答える 2

1

コードの問題は、括弧の使用です。これは、同じコードのやり直しバージョンです。

@echo off
echo Enter Username and Password to view files

set /p user=Enter UserID: 
set /p pass=Enter Password: 

if /i %user%==admin (
    if /i %pass%==password goto admin1
)

:admin1
::More here...

また、このコードには 1 つの問題があります (それが機能した場合は、あなたのコードも)。入力したユーザーまたはパスワードに関係なく、常に:admin1. これは、バッチ ファイルが上から下に読み取られるため、ブロック内のコードをスキップしてifブロックに移動するため:admin1です。

ユーザーをリダイレクトするコードの間にコードを挿入することで、これに対抗できます。

また、フォーマットのヘルプを参照して、質問を正しくフォーマットすることをお勧めします (コード ブロック、リンクなどにコードを配置します)。

于 2013-03-08T05:39:35.167 に答える
0

かっこがオフになっています。

@echo off
echo Enter Username and Password to view files

set /p user=Enter UserId:
set /p pass=Enter Password:

if /i "%user%"=="admin" (if /i "%pass%"=="password" goto admin1)

goto skip

:admin1
echo Done
goto END

:skip

:END
于 2013-03-08T05:43:07.480 に答える