0
@echo off
color 4
ping localhost 2.5 > nul
echo Welcome to the configuration menu.
echo Move AH1.exe and AH2.exe to your desktop.
echo This only works the first time
echo SO BE CAREFUL!
echo Would you like this to start on computer startup?
echo say "yes" or "no" below.
set /p option=Option:

IF %ERRORLEVEL% EQU no goto no
IF %ERRORLEVEL% EQU yes goto yes
:yes
echo Move AH1.bat and AH2.bat to desktop.
::Copies files to dekstop of current user *For Windows 7
xcopy "%systemdrive%\users\%username%\Desktop\AH1.bat" "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup"
xcopy "%systemdrive%\users\%username%\Desktop\AH2.bat" "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup"

echo Moved.
echo Press any key to close Anti Hacker Configuration.
pause > nul
exit
:no
echo No?The program will not take full effect then.
pause
exit

テストする場合は、デスクトップにAH1とAH2という2つのバッチファイルを作成します。「アクセスが拒否されました」と表示されます。

4

1 に答える 1

0

option変数に何を入れても、常にに移動し:yesます。

コマンドを持っているときに選択したオプションが含まれていないchoiceため、これを作成しているときにコマンドと混同されたと思います。errorlevelset

setドキュメントから:

%ERRORLEVEL%-現在のERRORLEVEL値に展開されます

したがって、に変更if %errorlevel% equ no goto noすることをお勧めしますif %option% equ no goto no

yesまた、どちらも入れないとどうなりますかno。あなたはおそらく2番目のステートメントexitの後にコマンドを持っていることによってこれらのことを説明する必要があります。if

于 2013-03-16T23:18:38.727 に答える