Batchfile DOS

Status
Niet open voor verdere reacties.

MoRpHeUz

Gebruiker
Lid geworden
7 jan 2003
Berichten
207
Ik wou graag willen weten of het mogelijk is om een bepaald commando automatisch te laten herhalen?

Alvast bedankt.
 
tja, met het ouderwetse DOS is m.i. in principe "alles" mogelijk, bijvoorbeeld:

een bestand genaamd kopie.bat

CD..
CD TEMP
COPY *.* C:\TEMP2
CD..
CD C:\WINDOWS

ik denk dat je met een paar instructies zoals hierboven in de batch staan EN wanneer je de batch in de map opstarten plaatst, het progje iedere keer als je Windows opstart, een kopie maakt van al je bestanden die in de map TEMP staan en die kopie plaatst in de map TEMP2.

Nu is mijn DOS kennis ietwat aan het wegzakken, maar ik zal met bovenstaande commando's de plank niet ver misslaan denk ik.............
 
Laatst bewerkt:
Bedankt voor je reactie maar eigenlijk bedoelde ik iets anders. Als je bijvoorbeeld een bepaald commando: start een paar keer wilt uitvoeren of je het dan kunt "loopen".

Maar het commando gewoon een paar keer achter elkaar typen werkt ook wel goed :)
 
ik heb ooit eens een keer een heel klein beetje aan programmeren gedaan, wat hieronder staat klopt natuurlijk niet, maar het zag er wel ongeveer zo uit.......

10 CLS
20 WIDE80
30 COLOR5,12
40 CLS
50 WIDE40
60 COLOR 3,2
70 GOTO 10

waarbij dan het scherm "schoongemaakt" werd in regel 10, in regel 20 de scherm"breedte" op 80 karakters werd gezet, in regel 30 een bepaalde kleur wordt ingesteld etc. Vervolgens worden dan in de volgende regels weer andere instructies geplaatst, waarna in regel 70 het progje het commando krijgt om terug te gaan naar 10.

Het resultaat was dan een scherm dat van kleur veranderde, al dan niet voorzien van een tekstje.

Is dat wat je bedoelt ???
 
Geplaatst door gast0225
ik heb ooit eens een keer een heel klein beetje aan programmeren gedaan, wat hieronder staat klopt natuurlijk niet, maar het zag er wel ongeveer zo uit.......

10 CLS
20 WIDE80
30 COLOR5,12
40 CLS
50 WIDE40
60 COLOR 3,2
70 GOTO 10

waarbij dan het scherm "schoongemaakt" werd in regel 10, in regel 20 de scherm"breedte" op 80 karakters werd gezet, in regel 30 een bepaalde kleur wordt ingesteld etc. Vervolgens worden dan in de volgende regels weer andere instructies geplaatst, waarna in regel 70 het progje het commando krijgt om terug te gaan naar 10.

Het resultaat was dan een scherm dat van kleur veranderde, al dan niet voorzien van een tekstje.

Is dat wat je bedoelt ???

ff zeuren... GOTO is 'evil'... Het punt is dat je daarmee een eindeloze loop hebt en je komt er alleen uit door het progje af te kappen. De vraag is in welke taal de TS wil programmeren en wat ie precies wil.

Gaat het om BASIC zou ik iets doen als

10 cls
20 input("How many cycles? ",a,1) 'de 1 is een minimum waarde voor a. niet alle BASICS kennen dit

30 for b = 1 to a
40 print "bla die bla" 'of wat dan ook....
50 next b
60 end



Het progje vraagt je hoevaak je het commando wilt herhalen en doet dat ook. je kunt natuurlijk dan ook (althans in visual basic) een systeem commando (DOS) uitvoeren. ( het enkele aanhalingsteken is een opmerking).

De TS moet wat duidelijker zijn zodat er leukere oplossingen komen.

oh. dit was al een jaar oud. Laat maar :( :(
 
De batchfile door zichzelf laten openen:

lol.bat
Code:
echo lol
lol.bat
 
voorbeeldje

Code:
@echo off
:1
start notepad.exe
goto 1

hiermee start notepad eindeloos op
Ik zou dit niet proberen te runnen aangezien ik dat ook een keer voor de lol gedaan heb en m'n hele pc liep totaal vast.
Niet doen dus.
 
Beetje oude topic maar toch...

in x86 assembly kun je zoiets schrijven:

oneindige loop:
Code:
mijnlabel:

; Doe iets...

jmp mijnlabel

Beperkte loop tot 100 keer:
Code:
mov cx, 100

mijnlabel:

; Doe iets...

loop mijnlabel

Uiteraard hoeft de oneindigende loop niet oneindig te zijn, je kan er midden in gewoon "uit jumpen".
 
Niet als je niet elke pass register CX DECreased.

een betere zou zijn:

movl ecx , 100 # op een 32 bits computer zijn de register extended, dus ecx, eax, ebx, etc.

_loop:

doe wat je lekker vindt

decl ecx

jnzl _loop #jump if not zero

doe de rest van het programma.

Een beetje zoals

while (c != 0) do { wat je lekker vindt; c = c - 1;}
 
We blijven niet oude topic's omhoog schoppen. De start datum is van 2004, dus niet echt actueel meer. Daarom voorzie ik deze topic van een mooi slot.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan