Algemene regels
1. Alles wat je doet gebeurt *enkel* in de directory (“folder”) waar je in zit. Uitzondering voor deltree dat ook in de subdirectories bestanden schrapt, en de externe commando’s scandisk, defrag, format en fdisk – dat zijn gehele schijfbewerkingen. Vergeet niet dat al deze commando’s ook werken op Windows 95 – Windows 8 enz
2. Om een uitvoerbaar bestand op te starten vanuit dos (uitvoerbaar= alles (*) met extentie “.bat” ; “.com” ; “.exe”), moet je gewoon de naam intypen die je kan lezen voor de extentie. Om het bestand “setup.exe” te laten uitvoeren vanop diskette a:, kan je gewoon typen “a:\setup [Enter]” Of eerst “a: (Enter)” en dan “setup (Enter)”
OPMERKING: uitvoerbare bestanden kan je in Windows XP & hoger starten via “uitvoeren” in het menu start.
3. Oudere versies van MS-DOS (van voor Windows XP) ondersteunen GEEN spaties
4. Het openen van MS-DOS zonder opstartdisk (dus als Windows draait) is mogelijk via “Opdrachtprompt”. Dit kan je vinden onder Bureau-accessoires. In Windows 7 & 8 volstaat het om “Opdrachtprompt” in het zoekvak in te geven. TOCH is MS-DOS via “Opdrachtprompt” beperkter dan het MS-DOS via een opstartschijf, omdat er verschillende bestanden in gebruik zijn door Windows.
Basiskennis:
- a: – ga naar station a (diskette).
- c: – ga naar station c: (harde schijf).
- cd\ – ga naar de root-direcory (Change Directory).
- dir – toon bestanden en subdirectory’s (uiteraard in de directory waar je nu in staat).
- cd windows – ga naar de directory met naam “windows”.
- dir /p – idem maar “scherm per scherm”.
- dir *.dll – toon alleen de bestanden met extentie “.dll”.
- dir *.dll |more – idem maar scherm per scherm (| = Alt Gr + &).
- cd.. – ga één stap terug in de structuur (hier dus van c:\windows naar c:\ ).
- md test – maak een directory aan, genaamd “test”. Make Directory (naam).
- cd test – ga in deze directory staan. (u werkt nu enkel hier).
- copy c:\*.* – kopiëer alles van c:\(root) naar hier (“hier” is nu “c:\test”, als je de commando’s in de volgorde van deze tekst typt).
- copy a:\setup.exe c:\test – kopiëer het bestand “setup.exe” van diskette naar harde schijf – in c:\test.
- ren een.bat twee.bat – hernoem het bestand “een.bat” naar “twee.bat” (indien “een.bat” bestaat).
- del *.bat – schrap alle bestanden met extentie “.bat” (enkel in c:\test doen! niet in “c:\”!)
- del config.* – schrap alle bestanden met naam config.(eender welke ext.) (enkel in “c:\test” doen!)
- del msdos.sys – schrap bestand msdos.sys (! enkel in c:\test ! niet doen in c:\ )
- del *.* – schrap alles (alleen doen in deze c:\test, niet doen in c:\ !)
- cd.. – zie hoger…ga terug naar c:\ (root)
- rd test – schrap de directory “test” (zal niet gaan – zie gevorderd – er zijn nog verborgen bestanden die je niet kon schrappen) (Remove Directory)
- dir /? – toon de help en schakelopties voor het commando “dir”
- prompt /? – idem voor het prompt-commando (probeer bij alle commando’s – ” /?” er juist achter)
gevorderd…
- attrib *.* -h-r-s-a – verander alle bestanden zodat ze zichtbaar zijn en veranderd / geschrapt kunnen worden. (hidden, read-only, system, archive)
- attrib *.* +h+r – verberg alle bestanden, en maak wijzigen onmogelijk
- attrib io.sys -h-r-s-a – laat ons toe io.sys te zien en te wijzigen <opletten: niet wijzigen, tenzij je een goede boot disk hebt>
- time – toon de systeemklok, eventueel kan je de tijd aanpassen
- date – idem voor de datum
- find /n “CTTY” c:\command.com – zoek het woord CTTY in het bestand “command.com” en toon op het scherm
- prompt $p$g – toon het station en de directory waar in gewerkt wordt aan de gebruiker
- prompt $p$gTyp Exit om terug te keren. . . – idem met deze tekst er bij…
- path – toon in welke directory’s het systeem een bestand zoekt als het hier (huidige directory) niet gevonden wordt. Dit is het “zoekpad”.
- path=c:\tools;%path% – de directory ‘c:\tools’ bij het bestaande zoekpad bijkomend instellen
- deltree *.* – schrap alle bestanden, ook in de subdirectory’s (Let op hiermee! Niet doen in c:\)
- deltree /y *.* – idem maar zonder bevestiging te vragen aan de gebruiker
- deltree /y *.* >nul – idem en zonder aan de gebruiker te tonen dat er iets geschrapt wordt.
- label – naam van station (harde schijf of diskette) zien en/of wijzigen
- fdisk – partities van een schijf wijzigen (opletten hiermee voor gegevensverlies!)
- format a: – diskette formatteren voor gebruik met Dos.
- format c: – harde schijf (of partitie) formatteren voor Dos. (opletten – gegevensverlies!)
Met bestanden werken (overschrijven, creëren), in- en uitvoer omleggen….
- dir >a:\test.txt – toon bestanden en subdirectory’s, zet deze in een bestand genaamd “test.txt”. De schermuitvoer is door het > teken omgelegd naar het bestand i.p.v. het scherm ( het ‘>‘- teken betekent: “stuur schermuitvoer naar”)
- dir >prn – stuur het bestandsoverzicht onmiddellijk naar de printer, zonder te tonen
- type test.txt – toon het bestand “test.txt” op het scherm. Dit commando heeft hetzelfde resultaat als ‘copy test.txt con’ (kopiëer <bestandsnaam> naar console)
- notepad test.txt – vanuit windows kan je dit commando ook geven, betekent zo veel als “start het bestand test.txt met het programma notepad.exe” (kladblok).
- echo blubber >>test.txt – voeg het woord “blubber” toe achteraan in het bestand “test.txt”.
- echo Killroy was here >test.txt – de woorden “Killroy was here” in test.txt, de vorige tekst wordt nu overschreven gezien maar één “>”-teken gebruikt wordt.
- type test.txt – toon nog eens
- echo rotschijf >a.txt – maak een bestandje “a.txt” met daarin het woord “rotschijf”
- label <a.txt – hernoem de schijf naar het woord uit het bestand “a.txt” (< : haal invoer van)
- echo rotschijf |label – de huidige schijf wordt nu in één commando hernoemd naar “rotschijf” (het | – teken stuurt uitvoer van één programma naar een ander programma)
- echo j |format c: – de harde schijf wordt onvoorwaardelijk geformatteerd (er wordt geen bevestiging (j/n) gevraagd). (Bij engelstalig OS: gebruik “y” i.p.v. “j”)
- echo j |format c: >nul – idem en zonder dat de gebruiker ziet dat er geformatteerd wordt.
- time >>test.txt – twee keer op [enter] duwen om de tijd niet te veranderen, of
- echo. |time >>test.txt – in dit geval geen tweemaal op enter duwen (“echo.” geeft een ‘enter’ door)
- type test.txt – *slik* moet ik het nog zeggen… > legt schermuitvoer om naar naar (een bestand of apparaat met naam wat achter > staat). Desnoods wordt een bestand met dezelfde naam overschreven. >> voegt toe, achteraan in een bestand. Indien het bestand niet bestaat, wordt het aangemaakt. < haalt invoer van (bestand of apparaat). Apparaten zijn nul, clock$, aux, con, prn, com1 – com4, lpt1…
- deltree /y c:\temp – schrap c:\temp met inhoud en subdirectories + alle inhoud van subdirectories.
- deltree /y c:\temp\*.* – schrap alle bestanden en subdirectories in c:\temp, maar laat c:\temp bestaan.
- copy clock$ test.txt – Als je dit programma lang genoeg laat werken (onderbreken met Ctrl + C) dan raakt de schijf vol. Kloktikken worden naar het bestand geschreven, 1 Mbyte / minuut op een P75.
- netstat -a -n 30 >>log.txt – geef alle adressen en poorten door van de netwerkverbinding, zowel van mijn PC als van de PC op afstand, doe dit om de 30 seconden en het resultaat opslaan in een bestandje “log.txt”. Probeer nu maar ongemerkt via het internet binnen te dringen in mijn PC. Ook te onderbreken met Ctrl + C.
- copy test.txt lpt1 – stuur het bestand “test.txt” naar de printer (indien op lpt1-poort).
- copy test.txt prn – idem maar wordt geprint, ook als de printer niet op de lpt1-poort staat.
- echo g=ffff:0 |debug – herstart je PC “koud”. Start debug, en voer de instructies uit.
- choice /cy /n /ty,9 >nul – Wacht 9 seconden. Letterlijk: start het programma “choice, geef de keuze “y” aan, toon geen keuze, wacht 9 seconden en kies zelf “y”; output niet tonen op het scherm.
- echo rem je ziet dit niet op je scherm >nul >>c:\autoexec.bat – voeg het zinnetje “rem je ziet.enz..” op het einde van c:\autoexec.bat toe, zonder dat de gebruiker de uitvoering van dit commando op het scherm ziet.
- ctty nul – ok, nu loopt je systeem vast (als je volledig in dos werkt). In- en uitvoer van het systeem worden nu niet meer geleid van toesenbord en naar scherm, maar “in de vuilbak” (nul).
- ctty con – invoer en uitvoer terug normaal (kan alleen maar in een *.bat bestand worden gebruikt, indien na “ctty nul”. Uiteraard kan je dit commando niet geven als het systeem je toetsenbord niet herkent. (leuke melding! “error – keyboard not found – press F1 to continue…)
- start rundll32.exe rnaui.dll,RnaDial Online – of ook:
- rundll32 rnaui,RnaDial Ping – opent vanuit Windows de verbinding met het internet. De naam van de verbinding “Online” of “Ping“ moet je vervangen door de benaming die je vindt onder “Deze Computer” – “Externe Verbinding”. Let op het hoofdlettergebruik – dit moet correct zijn. Start het bestant rnaui.dll (remote network access user interface – dynamic linked library) met rundll32.exe, ga naar de procedure RnaDial, en open de connectie met naam ‘Ping’.
Varia…
copy con kill.com – Opgelet ! we gaan een bestand schrijven, uitvoerbaar, we mogen de bytes zelf invoeren met hun ascii-waarde (copy apparaat “console” naar “bestandsnaam”)
- [Alt induwen] 2 4 0 [Alt loslaten] (F0 byte hex – assembler “lock” commando)
- [Alt induwen] 1 5 [Alt loslaten] (0F byte hex – “foutje” en niet gedocumenteerd)
- [Alt induwen] 1 9 9 [Alt loslaten] (C7 en C8 bytes, zetten het ax register
- [Alt induwen] 2 0 0 [Alt loslaten] van de processor op waarde 0)
- F6- toets (einde bestand-teken)
- [enter] (bestand wordt nu geschreven)
- dir Nu zie je ‘kill.com’ staan. . .
- Indien je nu “kill [enter]” intypt, zal een pentium processor stilstaan. Zelfs in Windows 95, Win NT, Unix, enz. enz. Uitvoeren van deze code doet de processor gewoon vastlopen. Foutje van Intel! Zelfs “mission critical” besturingssystemen kunnen worden stilgelegd, als ze draaien op een Pentium. Natuurlijk kan ik meerdere ongeldige codes op deze manier aanmaken die Windows en andere “goedkope” (lees “eigenlijk niet veilige”) systemen kunnen stilzetten, maar deze bug doet het duidelijk beter. Oeps! 200.000.000 kwetsbare computers. Enkel OS/2 lijkt deze ongeldige code op te vangen.
Het intypen van de karakters met “Alt <nummer ascii-symbool>“ levert nog enkele mooie mogelijkheden op. Je kan een directory aanmaken, bvb. met het commando “md <Alt +255>test”. Probeer maar te openen, of te schrappen, als je het toetsenbord op de gewone manier gebruikt.
Het is nuttig om de commando’s aan te leren van programma’s zoals debug.exe en Qbasic.exe. Je kan spectaculaire resultaten bereiken met beide programma’s, hoewel het aanleren van de prompt van “debug” niet eenvoudig is. Qbasic daarentegen is een vrij eenvoudige programmeertaal. Qbasic vind je op de Windows CD-rom onder “OldMsDos”. Als je meer van debug wil weten: start het programma op, en typ “? (Enter)”. Om te verlaten: “q (Enter)”. Let op met commando’s als w (write) en g (go) als je niet goed weet wat je doet. In een fractie van een seconde kan je de harde schijf verknoeien door willekeurige gegevens te schrijven naar schijfsectoren. Bvb w b800:0000 2 0 ffff – schrijft willekeurige “junk” vanuit het videogeheugengebied (B800:0000) naar harde schijf C: (a = 0, b = 1, c = 2) vanaf de eerste sector (MBR of sector 0) en overschrijft 65535 (ffff hexadecimaal) sectoren. Instant party: zelfs de partities van de harde schijf ben je kwijt op die manier. De schijf kan dan niet geformatteerd worden. Waar is de bootdisk met fdisk.exe op? Een voorbeeldje van QBASIC: stel, je werkt op een Dos – Windows 3.x-machine. Start Qbasic.exe, en typ in het venster van Qbasic de volgende twee commando’s: open “c:\dit is.dos” for binary as #1 – Open een binair bestand “c:\dit is.dos” en kan handle nr 1 toe close – Sluit het bestand terug (letterlijk: sluit alle bestanden) Duw nu op de toetsen (Shift) + (F5) om het programma te starten. En sluit nu Qbasic, en probeer het (ongeldige, want bevat een spatie in de naam) bestandje “dit is.dos” te schrappen of te verplaatsen. Je moet terug naar Qbasic, en het commando kill “c:\dis is.dos” starten om het vervelende bestandje kwijt te geraken. Uiteraard heeft de Windows 9x – verkenner geen problemen met spaties in bestandsnamen.
Batch-bestanden
Je kan commando’s achter elkaar typen, en in een bestand zetten met de uitbreiding ‘bat’. Dat wordt dan een batch-bestand. Als je het uitvoert (de naam er van ingeven in een command line prompt, of op het icoon dubbelklikken) worden de commando’s uitgevoerd. Je kan hier een hele programmeeromgeving mee creëren, met een waaier van mogelijkheden. Je kan een batch bestand aanmaken met een tekst-editor, zoals de MS-dos ‘edit’, of windows ‘notepad’. De uitwerking van commando’s verbergen. Door een reeks commando’s te plaatsen tussen de “ctty nul” en “ctty con” kan je de uitwerking van een batch-bestand verbergen voor de gebruiker. Wil je toch iets tonen, leg dan de uitvoer om naar het scherm voor het commando zelf. Het voorbeeld maakt dit duidelijk: @CTTY NULECHO Dit zal je op je scherm zien >CON ECHO Maar dit niet.CTTY CON