# Solved: Creating a password protected batch file with a batch file



## MattPwns (Jul 2, 2010)

Hey everyone, I'm fairly new at programming at everything, but I'm trying to learn, so bear with me.

I created a batch file, for fun, to shut down a computer in 60 seconds, but creates a text file and a second password protected batch file to abort the shutdown.

This is the code I've used.


```
@ECHO OFF
MODE CON: COLS=70 LINES=6
TITLE Shutdown - By Matt
START C:\Windows\System32\shutdown.exe -s -t 60 -c "Shutting Down"
ECHO Warning! Your computer will shutdown in 60 seconds! > shutdown.txt
ECHO. >> shutdown.txt
ECHO To abort, run the "abort" batch file on your desktop. >> shutdown.txt
ECHO @echo off > abort.bat
ECHO MODE CON: COLS=20 LINES=5 >> abort.bat
ECHO title abort >> abort.bat
ECHO color 9B >> abort.bat
ECHO :Start >> abort.bat
ECHO cls >> abort.bat
ECHO set /p password="Password: " >> abort.bat
ECHO if "%password%"=="qwerty" goto :correct >> abort.bat
ECHO goto :Start >> abort.bat
ECHO :correct >> abort.bat
ECHO cls >> abort.bat
ECHO echo Password correct! >> abort.bat
ECHO C:\Windows\System32\shutdown.exe -a >> abort.bat
ECHO pause \nul >> abort.bat
ECHO exit >> abort.bat
START C:\Users\%USERNAME%\Desktop\shutdown.txt
COLOR 9B
ECHO.
ECHO --------------------------------------------------------------------
ECHO Run abort.bat and enter the password
ECHO Now press any key to delete the two files created by this batch file.
ECHO --------------------------------------------------------------------
ECHO.
PAUSE
DEL C:\Users\%USERNAME%\Desktop\shutdown.txt
DEL C:\Users\%USERNAME%\Desktop\abort.bat
EXIT
```
It shuts down properly, creates and opens the text file properly, but I run into problems with the second batch file.

This is the code it puts into the second batch file:


```
@echo off 
MODE CON: COLS=20 LINES=5 
title abort 
color 9B 
:Start 
cls 
set /p password="Password: " 
if ""=="qwerty" goto :correct 
goto :Start 
:correct 
cls 
echo Password correct! 
C:\Windows\System32\shutdown.exe -a 
pause \nul 
exit
```
The password portion of the file won't rune because it doesn't add

```
%password%
```
 into it.

Does anybody know of a way to make it add that into the second batch file, or a second way of writing a password command that will work?

Thanks,
- Matt


----------



## TheOutcaste (Aug 8, 2007)

Welcome to TSG!

Use two percent symbols:

```
ECHO if "%%password%%"=="qwerty" goto :correct >> abort.bat
```
If you want to suppress the Press any key message from the Pause statement, you need *>Nul*, not *\nul*
To Echo the >, escape it with a caret:

```
ECHO pause ^>nul >> abort.bat
```


----------



## MattPwns (Jul 2, 2010)

Awesome, Thank you so much!

Now i just have to figure out a way to get it to run after my computer is idle for 10 minutes.

I know windows already has an auto-shutdown function, but i wanted to make my own.


----------



## TheOutcaste (Aug 8, 2007)

Use *Control Panel | Scheduled Tasks* (XP) or *Administrative Tools | Task Scheduler* (Vista/Win 7) and schedule it to run on Idle.


----------



## MattPwns (Jul 2, 2010)

You've solved all my problems today! Thanks so much!


----------

