Seneste forumindlæg
Køb / Salg
 * Uofficiel Black/White liste V3
Login / opret bruger

Forum \ Programmering og webdesign \ Programmering
Denne tråd er over 6 måneder gammel

Er du sikker på, at du har noget relevant at tilføje?

Dos hjælp

Af Superbruger [imp-v]bOb | 16-06-2008 20:04 | 1042 visninger | 14 svar, hop til seneste
Hej Gutter ved ikke om jeg skriver det forkerte sted. håber jeg ikke. jeg sidder og bøler med at lave en batchfil i dos. har et par spørgsmål. 1. jeg skal lave sådan at jeg kan kalde min batchfil kan kaldes fra 27 valgfri navne eks michael, kristian osv. hjælp hvordan gør man det.. vrider min hjerne :/ 2. min batchfil hedder mk1.bat. min batchfil opretter en mappe ved navn michael og inde i den en txt ved navn michael. dette skulle kunne lad sig gøre ved 27 navne ca. p.s. hvordan laver man en end på sine kommandoer er det goto ud :exit efter dette kan man så skrive nye kommandoer ind uden den blander dem sammen?? håber nogle kan hjælpe. på forhånd tak
--
HimSeLf! icq 112734632 |Intel Pentium4 2,4ghz|p4S533|DDR-Ram Kingston value 1gbRAM|Geforce 4 mx|
#1
Spock
Elite Supporter
16-06-2008 20:26

Rapporter til Admin
skal programmet køre på 27 forskellige pc'er, hvor mapperne med txt filen skal oprettes? hvis ja, så kan du bruge: md c:\%USERNAME% echo indhold her>c:\%USERNAME%\%USERNAME%.txt disse 2 linjer laver en mappe og deri liggende fil med samme navn som den bruger der er logge på computeren. txt filens indhold i dette eksempel er 'indhold her' for at hoppe rundt i koden kan du bruge: :ONE ECHO Dette er 1, og vi overspringer nu 2 GOTO THREE :TWO ECHO Dette vises ikke :THREE ECHO Vi sprang forbi 2 GOTO END :END EXIT --
--
For dum til at vide alt, for klog til at skulle kommentere alt. Når ingen ser dig spise det, er der så stadig kalorier i det?
#2
Ronson
Forumansvarlig
16-06-2008 20:36

Rapporter til Admin
Din batch-fil kalder du mk1.bat og så tjekker du hvilke parametre du har startet filen med. F.eks. "mk1.bat michael svend poul", hvor %0 = mk1.bat %1 = michael %2 = svend %3 = poul osv, du kan behandle flere parametre, dog skal du bruge SHIFT-kommandoen der flytter de restende navne 1 ned hver gang (da du kun kan bruge op til %9). Dvs. hver gang du kører SHIFT så bliver %2 flyttet ned i %1 (og alle de andre flyttet med) så du skal nøjes med at tjekke %1 indtil den er tom. Eksempel: http://pastebin.com[...]
--
http://chipsguiden.dk[...]
#3
[imp-v]bOb
Maxibruger
16-06-2008 20:37

Rapporter til Admin
hej. det ser ud til at ville ku hjælpe mig. min batchfil skal kunne kaldes på samme pc med 27 forskellige (elev navne) såsom michael, så skulle den gerne lave en mappe "michael" og en txt dokument deri hvor der eks. står michael er go i eller lign. forstår bare ikke hvordan den skulle kunne det for for at jeg kan få gang i min batchfil skal jeg kalde den ved dets navn altså mk1. :(
--
HimSeLf! icq 112734632 |Intel Pentium4 2,4ghz|p4S533|DDR-Ram Kingston value 1gbRAM|Geforce 4 mx|
#4
[imp-v]bOb
Maxibruger
16-06-2008 20:46

Rapporter til Admin
#ronson takker lyder også til at kunne blive en go hjælp. hvergang jeg f.eks skriver shift kommando så blir %1 =%2 så skal jeg bare lave %1 tilbage til %1 eller noget i den stil. =) har fået alt for lidt undervisning i det her. håbe ri tålmodige
--
HimSeLf! icq 112734632 |Intel Pentium4 2,4ghz|p4S533|DDR-Ram Kingston value 1gbRAM|Geforce 4 mx|
#5
Spock
Elite Supporter
16-06-2008 20:51

Rapporter til Admin
hvilken idé mener du kan hjælpe? logger alle eleverne på med deres eget login og brugernavn? og hvis de alle har deres eget brugernavn, står de så som michael, kristian, svend, poul...?
--
For dum til at vide alt, for klog til at skulle kommentere alt. Når ingen ser dig spise det, er der så stadig kalorier i det?
#6
Ronson
Forumansvarlig
16-06-2008 20:51

Rapporter til Admin
altså hvis du skriver mk1.bat 1 2 3 4 5 6 så bliver %1 = 1, %2 = 2, %3 = 3 osv Hvis du så skrifer SHIFT så bliver de rykket så %1 = 2, %2 = 3, %3 = 4 osv Problemet er at du ikke kan bruge over %9, derfor er det nemmest at rykke dem hver gang i løkken, for så kommer den næste hele tiden i %1, indtil den bliver tom fordi der ikke er flere værdier at flytte ned
--
http://chipsguiden.dk[...]
#7
[imp-v]bOb
Maxibruger
16-06-2008 20:55

Rapporter til Admin
#spock det på samme pc. jeg har til opgave at lave batchfil som kan fuldføre denne opgave at kunne oprette op til 27 forskellige navne altså hvis jeg skrev michael laver den mappe med navn michael, og txt dokument med samme navn. de opgaver skulle den kunne gøre lige meget om jeg skrev michael eller svend osv op til de 27 forskellige navne. min batchfil hedder dog mk1.bat men twisten er lige at ku få den fil ti lat reagere på alle de navne =)
--
HimSeLf! icq 112734632 |Intel Pentium4 2,4ghz|p4S533|DDR-Ram Kingston value 1gbRAM|Geforce 4 mx|
#8
Spock
Elite Supporter
16-06-2008 20:58

Rapporter til Admin
#7 så den skal blot oprette alle mapperne på samme tid? hvis ja, så brug endelig det forslag i #2 eller skal alle brugerne selv trykke på filen og så dukker mappen op? eller vil du have en boks op, hvor du kan angive et navn, og så bliver den først oprettet?
--
For dum til at vide alt, for klog til at skulle kommentere alt. Når ingen ser dig spise det, er der så stadig kalorier i det?
#9
jkgeyti
Supporter Aspirant
16-06-2008 21:22

Rapporter til Admin
Her er et eksempel med brugerinput der opretter en mappe. Noget i den stil? @echo off echo Indtast dit navn echo\ set /p name= REM Følgende linje opretter en mappe md "%name%" REM Følgende linje opretter en fil i mappen. Tricket er at echo'e noget, og bruge > til at gemme til en fil echo Hej %name%. Dette er din fil, i din mappe > "%name%/%name%s tekstfil.txt" pause --
--
http://www.jkg.dk[...]
#10
[imp-v]bOb
Maxibruger
17-06-2008 08:08

Rapporter til Admin
#spock man skal kunen trykke et navn af gangen, den skulle helst ikke oprette allesammen på engang. =) jeg må sige at i alle har givet mig noget godt information som jeg vil prøve smide ind i min batchfil. =) se om jeg kan få det til at virke =)
--
HimSeLf! icq 112734632 |Intel Pentium4 2,4ghz|p4S533|DDR-Ram Kingston value 1gbRAM|Geforce 4 mx|
#11
splazz
Elite Supporter
17-06-2008 08:20

Rapporter til Admin
har lige læst tråden hurtigt igennem, så kan godt være at det er helt galt, men vil det ikke kunne bruges hvis du laver det så: mk1.bat poul så opretter den mappen poul, med textfilen poul i. ellers vil #9's ekspempel da også være smart //splazz
--
{ASUS M2N SLI Deluxe|AMD64 X2 5600+|2x512MB Corsair PC6400|ASUS GF6600GT|2x74gb WD Raptor @ RAID0|H2O}
#12
[imp-v]bOb
Maxibruger
17-06-2008 08:33

Rapporter til Admin
sådan her ser min batch ud som den er lige nu @echo off if "%mk1%" == "michael" goto michael :michael md michael cd michael echo nummer1 >michael.txt write michael.txt cd..at %0 = mk1.b %1 = poul hvis jeg så skal kunne kalde filen f.eks poul skal der så stå følgende btw jeg er noob til det her i dos men prøver at lære. =)
--
HimSeLf! icq 112734632 |Intel Pentium4 2,4ghz|p4S533|DDR-Ram Kingston value 1gbRAM|Geforce 4 mx|
#13
Odder
Ny på siden
24-07-2008 16:17

Rapporter til Admin
#[imp-v]bOb Okay, jeg forstår desværre ikke helt hvad du vil.. men.. her er den simpleste version :p " @echo off echo. echo. set /p input= :partone if exist %input% ( write "%input%\%input%.txt" && File opened ) else ( md %input% echo. >> %input%\%input%.txt if exist %input% echo succesfully created folder plus txt write %input%\%input%.txt ) echo. echo Vil du koere processen igen? set /p input= if %input%==ja goto partone if %input%==Ja goto partone goto EOF " det burde virke... gad ikke teste xD
--
TIMEOUT 10000 there we go =D
#14
stallemanden
Gigabruger
24-07-2008 17:22

Rapporter til Admin
Som jeg forstår det du prøver at forklare os, vil du oprette en mappe, der har det navn du skriver efter din mk1.bat. Ikke noget med du skriver alle navnene på én gang? Altså ikke: mk1.bat svend bent frank michael.. Men: mk1.bat svend mk1.bat bent mk1.bat frank mk1.bat michael ... Udover det, skal der oprettes en fil, der hedder det navn du skriver, samt forskelligt indhold. Hvis det er rigtigt forstået, så er copy paste din ven i det her tilfælde. #### START BATCH #### GOTO %1 :michael md %1 cd %1 echo nummer1 >michael.txt GOTO EOF :svend md %1 cd %1 echo nummer2 >%1.txt GOTO EOF :bent md %1 cd %1 echo nummer3 >%1.txt GOTO EOF :frank md %1 cd %1 echo nummer4 >%1.txt GOTO EOF ...
--
Asus P5B, Intel Core 2 Quad Q6600, ATI Radeon X1950 Pro 256mb, 8GB DDR2 PC2-6400, 2x320 GB Hitachi HDT725032VLA360

Opret svar til indlægget: Dos hjælp

Grundet øget spam aktivitet fra gæstebrugere, er det desværre ikke længere muligt, at oprette svar som gæst.

Hvis du ønsker at deltage i debatten, skal du oprette en brugerprofil.

Opret bruger | Login
NYHEDSBREV
Afstemning