H4CK.NL
Home > Tutorials > Hacking > Cursus ms dos

Gebruikersnaam
Wachtwoord vergeten
Wachtwoord
Onthoud Gebruiker  

Cursus ms dos

Let op: Als je niet ingelogd bent kan je maar 10% zien van alle tutorials zien!!


Inleiding

MS-DOS staat voor Microsoft Disk Operating System.
DOS is de voorganger van het wereldberoemde besturingssysteem MICROSOFT WINDOWS.
Dos is een erg oud operating system: het komt uit de jaren 80.
Het is alles wat de mensen hadden in die tijd. Windows kwam dus na DOS.
Ook is DOS erg ongebruiks vriendelijk.
Dat komt door de commando's(= opdrachten) die je moet weten...
In die tijd werd het dus vaak ook alleen gebruikt door experts.
Maar dos kan nog steeds veel dingen die Windows niet kan.
Het is nog erg gebruikelijk.
Windows draaide in DOS,
het maakt alleen zelf de commando's aan, die jij dan niet meer hoeft te typen.

Hoofdstuk 1: De basis

Oké dan... Laten we beginnen met het starten van DOS.
Je kan DOS op een paar manieren starten en wij nemen de makkelijke...
Ga naar de knop start >> uitvoeren >> typ: command (of bij winXP: cmd)

Nu zie je een zwart scherm met bovenaan in witte letters: C:\WINDOWS>
Dit noemen wij de opdrachtregel: Je typt achter deze regel dus je DOS-opdrachten.
C:\WINDOWS> betekent dat de huidige actieve directorie(= map) C:\WINDOWS> is.
Je kan dus vanaf hier klooien met bestanden in deze map...
Laten we eens het bestand TELNET(wat dit is doet er niet toe het is maar een test) starten: typ start telnet.exe (druk daarna wel op ENTER...)
En zie daar: een programma gestart vanuit DOS(met behulp van de opdracht start).

Je kunt dus bestanden starten met start bestandsnaam.???.
Sluit het venster venster van TELNET nu maar weer af...
Maar dan moet je wel kunnen weten welke bestanden er in de huidige actieve map zitten(C:\WINDOWS> dus).
Daarvoor gebruiken de opdracht dir. Typ eens achter de opdrachtregel: dir.
Dan zie je nu de bestanden en mappen in de map windows heel snel voorbij schieten...
Omdat het zo snel gaat is het niet te lezen...
We moeten dus een opdracht hebben waarmee je de bestanden in de map c:\windows\ scherm voor scherm kan bekijken...
Dat doen we met de opdracht dir /p ; dus typ: dir /p
Je ziet nu dit(natuurlijk kunnen de data en tijden anders bij jouw zijn!):

Het volume in station C is SYSTEEM .
Het volumenummer is 2342-1CF4
Map van C:\WINDOWS.

.

01-01-90 0:05 .
..
01-01-90 0:05 ..
SYSTEM
01-01-90 0:05 SYSTEM
COMMAND
01-01-90 0:05 COMMAND
OPTIONS
01-01-90 0:05 OPTIONS
UPGINFS
01-01-90 0:05 UPGINFS
HELP
01-01-90 0:05 HELP
SYSTEM32
01-01-90 0:05 SYSTEM32
MSAGENT
01-01-90 0:05 MSAGENT
CURSORS
01-01-90 0:05 CURSORS
JAVA
01-01-90 0:05 JAVA
UPGDLLS
01-01-90 0:05 UPGDLLS
DRWATSON
01-01-90 0:05 DRWATSON
MEDIA
01-01-90 0:05 MEDIA
LHSP
01-01-90 0:05 LHSP
STARTM~1
01-01-90 0:05 Start Menu
PCHEALTH
01-01-90 0:05 PCHEALTH
TWAIN_32
01-01-90 0:05 TWAIN_32
CONFIG
01-01-90 0:05 CONFIG
Druk op een toets om door te gaan . . .

Kijk eens naar de laatste regel: Druk op een toets om door te gaan . . .
Je moet dus op een toets drukken om het volgende scherm te bekijken(druk maar iets in...).
Er verschijnt nu een nieuw scherm met bestanden er mappen uit de zelfde map C:\WINDOWS\.
Alleen nu word er gewacht op een actie van de gebruiker en komen de files niet zo snel achter elkaar op het scherm zodat het onleesbaar wordt.
Druk nu maar even zo lang todat de opdrachtregel weer zichtbaar is
(het kan bij zo een grote map als C:\WINDOWS\ wel even duren,
dus ff een tip: hou de ENTER toets even ingedrukt... ).

Dat leuke trucje wat we net gedaan hebben met /p noemen we een parameter(/p dus!!!!!).
Zo zijn er nog meer parameters zoals /w enz.
Je kan het aantal parameters(als die er zijn) bekijken door middel van: opdracht /?.
Dus typ eens in: dir /?.
Je krijgt nu een scherm te zien met allerlei informatie over de parameters van de opdracht dir.
Zoals je nu ziet is je scherm gevuld met allerlei troep.
Dat is erg irritant als je veel opdrachten achter elkaar moet geven.
Dus(ja je raad het al!) geef ik je weer een nieuwe opdracht: cls.
CLS staat voor clear screen en heeft geen parameters.
Tik nu in: cls.
En zie daar: een prachtig schoon scherm met alleen de DOS-opdrachtregel.

Hoofdstuk 2: Bestands bewerking en mappen

In dit hoofstuk o.a. gaan we leren hoe we van directorie kunnen veranderen(JA, eindelijk uit die vervloekte windows-map),
en andere bestands bewerkingen.
Typ nu in: cd\
Je ziet nu: C:\> in plaats van C:\>WINDOWS>.
Met de opdracht cd\ ga je dus naar de hoogste map;
het station dus(bij de meeste systemen C:\>).
De opdracht cd\ heeft een paar parameters(maar die ga ik niet allemaal uitleggen)...
Tik nu eens in: cd c:\windows\desktop\
Nu ben je dus in de map c:\windows\desktop\.
Typ nu eens: dir /P
Je ziet nu alle bestanden scherm voor scherm die zich in de map desktop(en op je bureaublad) bevinden...

De namen zijn anders zoals outloo~1.lnk hoewel het moet zijn: Outlook Express.lnk
Dat komt omdat DOS nog werkt met de 8.3-bestandsnaam: 8 tekens als naam(outloo~1) en drie als extensie(lnk) gescheiden door een punt.
Een klein nadeel van DOS dus(hoewel dit ook het geval is in andere dingen zoals in de programmeertaal C++)...

Nog ff iets: Als je van station wilt wisselen(als je een ander station hebt dan C:\) typ dan gewoon de letter van het station gevolgd door :\
B.V: E:\

Verder heb ik nog wat handige opdrachten voor bestanden:
Opdracht Betekenis
del PAS OP!!!!!: Verwijdert een bestand B.V: del c:\bestand.txt
mkdir Maakt een map B.V: mkdir c:\mapnaam\
copy Kopieërt een bestand B.V: copy c:\bronmap\bronbestand.txt c:\doelmap\
xcopy Kopieërt een hele map inclusief bestanden B.V: xcopy c:\bronmap\ c:\doelmap
rd PAS OP!!!!!: Verwijdert een hele map inclusief bestanden B.V: rd c:\verwijderdezemap\
rename Wijzigt de naam van een bestand B.V: rename c:\bestand.txt c:\nieuwenaambestand.txt
exit Sluit gewoon simpel MS-DOS af(voor als je dom bent een voorbeeld:) exit

Hoofdstuk 3: Batch-bestanden

Dit is het leukste hoofdstuk van allemaal: Batch-bestanden.
Batch-bestanden zijn in feite kleine programma's die DOS-opdrachten stuk voor stuk uitvoeren. Je zult nu wel zeggen: Cool een programmeertaal!
Dat is niet zo, je kunt batch vergelijken omdat het op een programmeertaal lijkt maar dat is het niet: Batch is een script-taal.
Dat wil zeggen dat je het niet hoeft te compileren. Laat maar zitten... In ieder geval is het handig om met batch om te kunnen als je wilt gaan programmeren. Je zult veel opdrachten terug zien in echte programmeer-talen(zoals Pascal, Visual Basic, Qbasic, C, C++, Java enz.).

We beginnen door kladblok op te starten(hier typen we het bestand namelijk in...):
Ga naar start >> programma’s> > bureau-acc. > >kladblok.


Typ:
@echo off
cls
echo Dit is mijn eerste batch-bestand
echo.
echo Om nog iets op het scherm te laten zien:
pause
cls
echo Linux Rules!!!!!!!!!!!!
Ga nu naar: bestand >> opslaan als.
Sla het bestand nu op als c:\batchtest.bat(en dus niet als c:\batchtest.txt!!!!!!!!!!!!!!).
Start het bestand nu(Ga naar: start >> uitvoeren >> Typ: start c:\batchtest.bat).
En kijk eens aan: je hebt zojuist je eerste batch-programma geschreven.
We gaan het programma nu ontleden:

CLS
Kijk nu eens naar de regels met CLS: dat is de bekende DOS-clearscreen opdracht: Hij wist alle troep die nog in het DOS-venster staat.

Echo
De regels die met echo beginnen laten iets op het scherm zien.
Wil je dus je zelf voor lul zetten: echo Ik ben dom!!!!!!!!
De echo-regels gevolgd door een punt(.) stellen een witregel voor echo alleen bestaat dus niet.
@echo off zorgt ervoor dat niet de opdrachten zelf op het scherm worden weergeven(het is dan net of je de opdrachten zelf intypt).
Het @ voor echo off zorgt ervoor dat ook de opdracht echo off zelf niet word afgebeeld(probeer het maar eens zonder @...).

Pause
Pause is erg simpel:
Het onderbreekt het programma todat er op een toets gedrukt word en laat op het scherm tegelijk zien: Druk op een toets om door te gaan...

Okee dan! Je weet nu al een beetje hoe batch werkt...
Je kan ook de gewone DOS-opdrachten opnemen in je programma:

@echo off
rem Dit programma maakt een reserve kopie van mijn favourite map
cls
echo Dit programma maakt een reserve-kopie van de map C:\ DOCUMENTEN\
echo.
echo Plaats een diskette in station A:\ en
pause
copy c:\documenten\*.* a:\
cls
echo Gekopieerd!!!!

Rem
Zoals je ziet heb ik er een nieuwe opdracht bij geplaatst: rem
Rem staat voor remind(of remember?) en betekent onthouden. Rem geeft je dus de mogelijkheid commentaar op te nemen in je programma...
De regels die met rem beginnen worden dus niet gelezen door de computer.

Goto
Ook is er een opdracht waarmee je in een keer naar een andere programma-regel kan springen: goto.
Goto betekent "ga naar" en gaat naar een stukje in het programma dat begint met :
Voorbeeld:

@echo off
rem Dit programma blijft kopieren
rem Label om aan te duiden waar nieuw is.
:nieuw
cls
echo Dit programma maakt een reserve-kopie van de map C:\DOCUMENTEN\
echo.
echo Plaats een diskette in station A:\ en
pause
copy c:\documenten\*.* a:\
cls
echo Gekopieerd!!!!
rem Naar de label "nieuw" gaan
goto nieuw

Als je dit programma uitvoert zul je zien dat het programma blijft kopiëren.
De regel achter goto is dus een aanduiding waar de computer heen moet gaan.
Dat noemen wij een label: goto label
De label(het stukje waar de computer heen gaat als de computer de opdracht goto tegenkomt) begint altijd met een dubbele punt(:) :naam_label
Natuurlijk mogen er ook meer goto-opdrachten worden opgenomen in het programma.
Nu zul je wel zeggen: "Erg leuk die goto-opdracht maar wat heb ik eraan?".
Nou, dat zal ik eens uitleggen:
Ten eerste kan je het programma bewerkingen opnieuw laten uitvoeren.
En ten tweede is het handig als je de if-opdracht(word later uitgelegd...) gaat gebruiken...

If
If betekent in het Nederlands veraald: als.
If is handig om te controleren of er aan een waarde is voldaan:
Als je iets niet weet, ga naar de leraar om het te vragen!
Voorbeeld:

@echo off
cls
rem =====Dit batch-programma start een spelletje========
rem
rem Beschikbare games.
rem
if "%1" == "a" goto patience
if "%1" == "b" goto mijnenveger
rem
rem =======Als de parameter niet A,B of C was==========
rem Kies een spelletje
rem
echo.
echo Typ spel A of spel B.
pause
goto einde
:patience
rem
rem =========Dit is goto patience====================
rem Als DOS hier komt, werd patience gekozen.
rem
start C:\WINDOWS\SOL.EXE
rem
rem Als patience werd gekozen, mijnenveger overslaan.
rem
goto einde
:mijnenveger
rem
rem ======Dit is goto mijnenveger===================
rem Als DOS hier komt, werd mijnenveger gekozen.
rem
start C:\WINDOWS\WINMINE.EXE
rem
rem Als mijnenveger werd gekozen, patience overslaan.
rem
goto einde
rem =========Dit is goto einde======================
rem Ga na het spel terug naar het hoofdmenu
rem
:einde
cls

Dit programma heeft een parameter nodig die in het programma zelf aangeduid word als %1.
In de if-regel staat(in mensentaal): Als parameter1 gelijk is aan A ga naar patiance.
Parameter is dus %1 (de haakjes kan je weglaten)
Gelijk aan is dus ==
En ga naar is dus(Ja je raad het al!): goto patiance
Als er niet aan de If-waarde word voldaan word de opdracht if gewoon overgeslagen...

Sla het bestand nu eens op als C:\spel.bat
Als je dus MS-DOS opstart en achter de opdrachtregel typt: spel a (geen hoofdletters, A.U.B.!!!!!)
%1 word in het programma dus eigenlijk opgenomen als "a".
En het programma start het al bekende(maar verschikkelijk saaie) spel Patiance op!
Nog ff iets over parameters: Je kan een programma natuurlijk ook 2 parameters geven of zelfs 3 allemaal aangeduid met het %-teken:

@echo off
cls
rem Dit programma heeft de zelfde werking als de COPY opdracht in DOS.
copy %1 %2

Dit programma kopieert dus simpelweg de eerste parameter naar de tweede(%1 = het bestand dat gekopieerd moet worden, %2 de map waar het bestand moet komen).
Natuurlijk moeten de programma's met parameters wel vanuit MS-DOS gestart worden(tenzij je gebruik maakt van .PIF bestanden, maar dat leg ik later uit).
Natuurlijk kun je ook een menu maken voor b.v. het programma spel.bat:

@echo off
cls
rem ===Dit batch-bestand is het menu voor de games======
echo Computer Games
echo.
echo.
echo Maak een keuze uit:
echo.
echo A. Patience (standaard van windows)
echo B. Mijnenveger (standaard van windows)
echo.
echo U start een spel door spel te typen,
echo gevolgd door de letter voor het spelletje.
echo Druk vervolgens op ENTER. Bijvoorbeeld:
echo spel A.
echo.
prompt Maak uw keuze:

Prompt
Dit programma(opstarten in DOS natuurlijk, naam maakt niet uit) start je dus voor spel.bat.
Zoals je ziet heb ik een nieuwe opdracht opgenomen in dit programma: prompt
De opdracht prompt activeert de opdrachtregel weer, en daar achter de weergave van de opdrachtregel.
Wat normaal achter de opdracht regel staat(C:\WINDOWS>) is nu vervangen door:
Maak uw keuze:

Maak uw keuze is dus gewoon de opdrachteregel en dus werken alle DOS-opdrachten daar op.
Als je typt: spel A
Typ je dus eigenlijk gewoon achter de opdrachtregel(die met Maak uw keuze:) spel a.
Spel is dus het gestarte bestand en a de parameter.
Prompt is dus een opdracht die de opdrachtregel uit een batchbestand activeert, of de weergave van de huidige veranderd.
De huidige opdrachtregel C:\ACTIVEMAP> is dus: prompt $p$g
$p staat dus voor de active map en $g voor het groter dan teken(>).
De tekens met $ voorafgegegaan is een soort code(ik dacht: ANSI: American National Standard Institute) voor de prompt-opdracht:
Code voor prompt Teken
$q = ("is gelijk aan"-teken)
$$ $ (dollar teken)
$t Huidige tijd
$d Huidige datum
$p Actief station en pad(meestal standaard en samen met $g)
$v MS-DOS versienummer
$g > ("groter dan"-teken)
$l < ("kleiner dan"-teken)
$b | ("sluis"-teken)
$_ Naar het begin van de volgende regel
$e ASCII-escape code(code 27)
$ Backspace(om het voorgaande teken op de prompt-opdrachtregel te wissen)
$n Alleen het actieve station

eigen zin of woord(zoals Maak uw keuze: in het vorige programma) Je eigen zin

Call
De opdracht call betekent letterlijk vertaald: roep.Met de opdracht call kan je dus andere-batch bestanden aanroepen.
Stel dat we het laatste programma menu.bat noemen, en we willen dat spel.bat het menu afbeeld als het spel is gestart.
Dan nemen we in de nieuwe versie van spel.bat de opdracht call op:

@echo off
cls
rem ===Dit batch-programma start een spelletje==========
rem
rem Beschikbare games.
rem
if "%1" == "a" goto patience
if "%1" == "b" goto mijnenveger
if "%1" == "c" goto saddam
if "%1" == "d" goto einde
rem
rem =====Errorlevel==========================
rem Kies een spelletje
rem
echo.
echo Typ spel A of spel B.
pause
goto einde
:patience
rem
rem =======Dit is goto patience====================
rem Als DOS hier komt, werd patience gekozen.
rem
start C:\WINDOWS\SOL.EXE
rem
rem Als patience werd gekozen, mijnenveger overslaan.
rem
goto einde
:mijnenveger
rem
rem =======Dit is goto mijnenveger===================
rem Als DOS hier komt, werd mijnenveger gekozen.
rem
start C:\WINDOWS\WINMINE.EXE
rem
rem Als mijnenveger werd gekozen, patience overslaan.
rem
goto einde
rem ========Dit is goto saddam=====================
:saddam
start c:\menusy~1\saddam_1.exe
goto einde
rem
rem ========Dit is goto einde=======================
rem Ga na het spel terug naar het hoofdmenu
rem
:einde
cls
call menu.bat

Als je nu menu.bat start(met MS-DOS natuurlijk...) en je start een van de spellen,
zul je zien dat het programma spel.bat automatisch menu.bat weer aanroept met de opdracht call menu.bat
Het bestand menu.bat moet zich natuurlijk wel in de zelfde map bevinden,
anders moet je de map voor menu.bat zetten(b.v. C:\andere map\menu.bat)!!!!!!

Exist
Exist beteken letterlijk vertaald in het Nederlands: bestaat.
Bestaat is eigenlijk alleen voor bestanden:

@echo off
cls
if exist c:\backup\bestand.doc goto ok
rem*******************************************
rem hier komt MS-DOS als niet aan de if-waarde is voldaan
echo Backup is nog niet gemaakt!
rem reservekopie maken...
cls
echo Dit programma maakt een reserve-kopie van de map C:\ DOCUMENTEN\bestand.doc
echo.
echo Plaats een diskette in station A:\ en
pause
copy c:\documenten\*.* a:\
cls
echo Gekopieerd!!!!
goto einde
rem********************************************
:ok
echo De backup bestaat al!!!
goto einde
rem********************************************
:einde

De regel if exist c:\backup\bestand.doc goto ok betekent in werkelijkheid:
Als het bestand c:\backup\bestand.doc bestaat ga naar ok


THAT’S ALL!

PS: Maar als je een goede virus wilt gaan maken moet je bij visual basic scripts kijken!!!

Let op: Als je niet ingelogd bent kan je maar 10% zien van alle tutorials zien!!


h4ck.nl
Rated 9/10 based on 714 reviews

Je kan je eigen review plaatsen als je lid bent.

Â