2013-03-16 7 views
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 

Если вы хотите протестировать, сделайте 2 командных файла на вашем рабочем столе под названием AH1 и AH2 . Он говорит, что Access Denied .... why ??Доступ запрещен ...?

+1

По умолчанию только учетные записи администратора имеют доступ на запись ко всему под 'C: \ ProgramData \'. – CBroe

ответ

0

Независимо от того, что вы положили в переменную option, она будет всегда перейти к :yes.

Я предполагаю, что вы перепутали с командой choice, когда вы делали это, потому что errorlevel не содержит параметр, который вы выбираете, когда у вас есть команда set.

Из документации set:

% ERRORLEVEL% - раскрывается в текущее значение ERRORLEVEL

Таким образом, вы можете захотеть изменить if %errorlevel% equ no goto no к if %option% equ no goto no.

Также, если вы не ставите ни yes, ни no. Вы должны учитывать эти вещи, возможно, имея команду exit после второго заявления if.

Смежные вопросы