Plik bat – problem z formułką echo

0

Zacząłem ostatnio bardziej interesować się plikami z rozszerzeniem batch chciałem przygotować plik który po uruchomieniu tworzy kilka kolejnych ale napotkałem na problem w formułce" echo [tekst który ma być w programie] >> test.bat" otóż nie mogę zawrzeć w nim zmiennej w %% bo program zamiast przepisać całość chyba zaczyna to interpretować a jako że nie ustalałem wcześniej wartości dla %% zastępuje to pustym miejscem. Jeśli jest tu ktoś kto może pomóc czy coś doradzić będę dozgonnie wdzięczny. Prototyp tekstu gdyby ktoś wolał myśleć na konkretach:

@echo off
echo @echo off >> test.bat
echo title Prywatny Folder >> test.bat
echo color F0 >> test.bat
echo if EXIST "ukryte" goto odblokuj >> test.bat
echo if NOT EXIST Zdjecia goto tworzenie >> test.bat
echo :potwierdz >> test.bat
echo echo Zablokowac folder? >> test.bat
echo set/p "cho=>" >> test.bat
echo if %cho%==t goto blokuj >> test.bat
echo if %cho%==n goto koniec >> test.bat
echo if %cho%==tak goto blokuj >> test.bat
echo if %cho%==nie goto koniec >> test.bat
echo echo Nieznany wybor >> test.bat
echo goto potwierdz >> test.bat
echo :blokuj >> test.bat
echo ren Zdjecia ukryte >> test.bat
echo attrib +h +s +r ukryte >> test.bat
echo echo Folder ukryty >> test.bat
echo goto koniec >> test.bat
echo :odblokuj >> test.bat
echo echo Wpisz haslo aby odblokowac folder >> test.bat
echo set "haslo=>" >> test.bat
echo if NOT %haslo%== 1234 goto blad >> test.bat
echo attib -h -s -r "ukryte" >> test.bat
echo ren ukryte Zdjecia >> test.bat
echo echo Folder odblokowany >> test.bat
echo goto koniec >> test.bat
echo :blad >> test.bat
echo Jakis blad w hasle sprobuj jeszcze raz >> test.bat
echo goto odblokuj >> test.bat
echo :tworzenie >> test.bat
echo md Zdjecia >> test.bat
echo echo folder utworzony >> test.bat
echo goto koniec >> test.bat
echo :koniec >> test.bat
echo echo nacisnij cokolwiek zeby wyjsc >> test.bat
echo pause >>nul >> test.bat
pause
start test.bat
0

Użyj podwójnych % (%%)

Zobacz co miałeś nie tak.
Poprawiony, działający kod:

@echo off

(echo @echo off
echo title Prywatny Folder
echo color F0
echo if EXIST "ukryte" goto odblokuj
echo if NOT EXIST Zdjecia goto tworzenie
echo :potwierdz
echo echo Zablokowac folder?
echo set/p "cho=>"
echo if /i "%%cho%%"=="t" goto blokuj
echo if /i "%%cho%%"=="n" goto koniec
echo if /i "%%cho%%"=="tak" goto blokuj
echo if /i "%%cho%%"=="nie" goto koniec
echo echo Nieznany wybor
echo goto potwierdz
echo :blokuj
echo ren Zdjecia ukryte
echo attrib +h +s +r ukryte
echo echo Folder ukryty
echo goto koniec
echo :odblokuj
echo echo Wpisz haslo aby odblokowac folder
echo set/p "haslo=>"
echo if NOT "%%haslo%%"=="1234" goto blad
echo attrib -h -s -r "ukryte"
echo ren ukryte Zdjecia
echo echo Folder odblokowany
echo goto koniec
echo :blad
echo echo Jakis blad w hasle sprobuj jeszcze raz
echo goto odblokuj
echo :tworzenie
echo md Zdjecia
echo echo folder utworzony
echo goto koniec
echo :koniec
echo echo nacisnij cokolwiek zeby wyjsc
echo pause ^>nul
)>test.bat
pause
start test.bat

1 użytkowników online, w tym zalogowanych: 0, gości: 1