Avatar billede feliz Nybegynder
02. juni 2006 - 12:17 Der er 10 kommentarer og
1 løsning

Lave en bat fil der laver en ny bat fil

Hej
Er det muligt at lave en bat fil som gør følgende:
- Opretter en ny bat fil
- Ligger den i en mappe man har valgt
- Smider nogle kommandoer ind i den nye bat fil
Hvis ja, hvordan? :)
Avatar billede nielle Nybegynder
02. juni 2006 - 13:42 #1
En lille hurtig demo:

===== opret.bat =====

set batFil=demo.bat

echo REM dette er den første linje i den nye bat.fil > %batFil%
echo c: >> %batFil%
echo cd \windows >> %batFil%
echo dir >> %batFil%

call %batFil%

===== opret.bat =====
Avatar billede feliz Nybegynder
02. juni 2006 - 19:48 #2
Skal hver linie i den nye bat fil så ende på %batFil% eller?
Avatar billede nielle Nybegynder
02. juni 2006 - 22:47 #3
echo - er kommandoen som normalt skriver noget ud til skærmen

... derefter kommer det der skal udskrives - f.eks. "cd \windows" i en af linjerne

... som sagt udskrives det normalt til skærmen, men med > og >> redirigeres det videre til næste trin, som er:

%batFil% - en environment-variabel som indeholder navnet på den fil der skal skrives til (her altså demo.bat).

Ideen med at skrive "%batFil%" i stedet for "demo.bat" er at du så nemt kan skifte til et andet filnavn ved blot at rette i den allerførste linje i din bat-fil.

Forskellen på > og >> er at den første overskriver filen, mens den sidste appender til den.
Avatar billede feliz Nybegynder
06. juni 2006 - 22:46 #4
Mange tak Nielle, men det virker altså ikke helt efter planen
Den gør nemlig det at den opretter en fil "demo.bat" i den mappe som den første bat fil ligger.. og filen som bliver oprettet, indeholder disse ting:

REM dette er den første linje i den nye bat.fil
c:
cd \windows
dir

Er det ikke forkert?
Avatar billede nielle Nybegynder
07. juni 2006 - 06:19 #5
Hvordan mener du at det skulle være forkert?

Hvis det bare er fordi at den ligger i en anden mappe end der hvor den skal ligge, så indleder du din bat-fil med en cd-kommando som skifter til det bibliotek hvor den skal lægges.

Eller du kan inkludere den fulde sti i %batFil%:

set batFil=c:\windows\demo.bat
Avatar billede feliz Nybegynder
08. juni 2006 - 02:09 #6
Skriv lige et "Svar" så jeg kan give dig nogle point :) Og mange tak for hjælpen Nielle..
Avatar billede feliz Nybegynder
08. juni 2006 - 02:57 #7
Hov jeg prøvede lige dette:

set batFil=C:\her\tester.bat

echo start C:\PROGRA~1\WORLDO~1\Launcher.exe > %batFil%
echo start iexplore.exe www.eksperten.dk >> %batFil%
echo start C:\PROGRA~1\VENTRI~1\VENTRI~1.exe >> %batFil%

call %batFil%

Men når jeg så åbner den fil, opretter den også en anden bat fil i mappen "C:\her\"
Den fil indeholder også disse linier:
start C:\PROGRA~1\WORLDO~1\Launcher.exe
start iexplore.exe www.eksperten.dk
start C:\PROGRA~1\VENTRI~1\VENTRI~1.exe

Men når jeg så åbner den fil, altså den jeg startede med at lave, så kører den de kommandoer imens den laver den anden batch fil, hvordan kan jeg få den til ikke at gøre det? Altså få den til KUN at oprette den nye batch fil?
Avatar billede nielle Nybegynder
08. juni 2006 - 06:30 #8
Du skal bare slette denne linje:

call %batFil%

for det er nemlig den som sørger for at starte og køre den anden bat-fil.
Avatar billede feliz Nybegynder
08. juni 2006 - 11:41 #9
Okay mange gange tak nielle det virkede..
Avatar billede feliz Nybegynder
08. juni 2006 - 11:42 #10
Du har sku fortjent de points!!
Avatar billede nielle Nybegynder
08. juni 2006 - 17:26 #11
Du er velkommen :^)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester