batch-programm variablen problem

Splinter

Cacodemon
also ich hab mich mal hingesetzt und folgendes programmiert:

Code:
@echo off
:start
cls
echo.
echo.
echo.
echo.
echo.
echo ,________profile-managar___________,
echo # 1. create a new profile(type '1')#
echo # 2. enter a profile   (type '2')#
echo # 3. delete a profile  (type '3')#
echo # 4. exit        (type '4')#
echo ------------------------------------
echo.
echo v 0.1
echo.
echo.

set /p var=select: 
if %var%==1 goto 1
if %var%==2 goto 2
if %var%==3 goto 3
if %var%==4 goto 4
cls
echo type only numbers from 1 to 4!
echo.
echo.
pause
goto start

:1
cls
echo _____________________
echo create a new profile:
echo ---------------------
echo.
set /p var2=select a profile name: 
set /p var3=select a password: 
set /p var4=select a path, where you want to create your profile directory: 
cd %var4%
md %var2%_profile
cd %var4%\%var2%_profile

echo @echo off > %var2%.bat
echo start2 >> %var2%.bat
echo cls >> %var2%.bat
echo echo ______________________ >> %var2%.bat
echo echo %var2%_profile: >> %var2%.bat
echo echo ---------------------- >> %var2%.bat
echo echo. >> %var2%.bat
echo set /p pw=enter password: >> %var2%.bat
echo if %pw%==%var3% goto garented >> %var2%.bat
echo goto denied >> %var2%.bat
echo :garented >> %var2%.bat
echo cls >> %var2%.bat
echo echo acces garented! >> %var2%.bat
echo echo. >> %var2%.bat
echo echo. >> %var2%.bat
echo pause >> %var2%.bat
echo cls >> %var2%.bat
echo echo member area!!! >> %var2%.bat
echo pause >> %var2%.bat
echo exit >> %var2%.bat
echo :denied >> %var2%.bat
echo cls >> %var2%.bat
echo echo acces denied! >> %var2%.bat
echo pause >> %var2%.bat
echo goto start2 >> %var2%.bat

cls
echo profile has been created...
pause
goto start

:2
cls
set /p var5=enter profile name: 
if %var5%==%var2% goto 2.1
cls
echo this profile does not exist.
echo.
echo.
pause
goto 2

2.1
set /p var6=enter password: 
if %var6%==%var3% goto profile

:3

:4
cls
echo do you really want to leave? (J/N)
set /p left= 
if %left%== J goto exit
if %left%== N goto start
cls
echo only type 'J' for Yes or 'N' for No...
echo.
echo.
pause
goto 4

:exit
cls
exit
ich bin noch nicht ganz fertig habe aber das problem, dass bei 'echo if %pw%==%var3% goto garented >> %var2%.bat' das '%pw%' wird in der '%var2%.bat' nicht angezeigt also es wird als leerzeichen daargestellt und dann funzt die ganze sache natürlich nicht...

ich habe das gefühl dass variablen bei umleitungen grundsätzlich nicht angezeigt werden.
da bei %var3% in der profile.bat gleich das eingegebene passwort im quellencode steht aber da hab ich vorgesorgt und zwar werde ich statt einer profile.bat eine .exe erstellen und somit kann das pw nicht mehr rausgelesen werden xD dazu muss ich aber erst das mit der variable hinbekommen

kann mir da bitte jemand helfen?

mfg splinter
 

e.v.o

Light Guard
Nimm Rapidbatch oder AutoIt oder Phyton oder Perl oder VisualBasicScript oder Visual Basic oder Delphi oder WindowsScripting oder PowerShell oder C#/mono oder C++/C oder D oder JavaScript oder ASM oder ... aber Batch?
Hauptsache kompliziert, wa? ;)
 

Splinter

Cacodemon
ja also mittlerweile hab ich das problem gelöst.

aber wie du schon gesagt hast batch is zwar hin un wieder praktisch aber es is einfach langweilig.

ich programmiere schon ne zeit c++


mfg splinter
 

CruSAdeR

News-Moderator
Das klingt nach ner plausiblen Erklärung :)
Alles andere hätte ich dir auch nicht abgenommen :lol:
 
Top