Avatar billede cdk Nybegynder
20. februar 2002 - 15:38 Der er 14 kommentarer og
1 løsning

bat filer....

ja jeg ved ikke lige hvor jeg skal spørge men hvor kan jeg finde mere info om programmering i bat filer?...
Avatar billede m-koldsgaard Nybegynder
20. februar 2002 - 15:44 #1
Lytter...
Avatar billede cdk Nybegynder
20. februar 2002 - 15:50 #2
Avatar billede geek1011 Nybegynder
20. februar 2002 - 17:11 #3
Jeg ved ikke lige hvor man kan finde infp om "programmering" i bat-filer, men jeg kan da vise dig et eksempel på et "program" der er "programmeret" i en bat-fil. Programmet udskriver først Hello World, og starter derefter et andet program:

echo Hello World!
c:\en_mappe\program.exe

P.S.
Der er ikke noget der hedder Bat-programmering.
Bat-filer er sådanset bare simple filer til at udføre en ønsket handling,så man ikke selv behøver at gøre det, men kan skrive det ned til Operativ-systemet en gang for alle, hvorefter det så udfører det automatisk. F.eks. når du har installeret et progam, så læg mærke til opstarten af Win98, hvor der står alt muligt lige fra Virus-scanning til opdatering af filer.
Det er små programmer der er startet op automatisk.
Avatar billede geek1011 Nybegynder
20. februar 2002 - 17:15 #4
Der er mange der tror, at det at lave en Bat-fil er det samme som at man kan programmerer. Jeg har flere gange måtte fortælle folk, at at det at lave en bat-fil ikke har det mindste med programmering at gøre.

Hvis du gerne vil følge bare lidt med tiden, så bruge Windows Scripting Host. Bat filerne var til det gamle DOS, og Windows Scripting Host er så til Windows. Det er hvist det der minder mest om programmering.
Dette ligner lidt efter VB (LIDT)
Avatar billede cdk Nybegynder
21. februar 2002 - 02:04 #5
hhmm det er det jeg har lavet og jeg vil gerne lidt videre
Avatar billede djernaes Nybegynder
21. februar 2002 - 07:38 #6
:-) Bat filer er da lige så meget "programmering" som shell scripts, Widoze Scripting Noget, Perl, VB osv. Man kan faktisk "strikke" ret kunstfærdige sekvenser sammen i en bat fil. Du kan enda bruge dem til CGI scripts på din web server :-)

Martin
Avatar billede soepro Nybegynder
21. februar 2002 - 13:22 #7
Man kan faktisk programmere en hel del i .BAT filer, som flere også gør opmærksom på - derudover kan man fyre ALLE de DOS kommandoer af, som man også kan fra en alm. DOS-boks.

Mht. dokumentation, er der vist ikke meget tilbage på Windows platformen - prøv at kigge de .txt filer igennem der ligger under C:\Windows

.BAT filer har et MEGET SIMPELT programmeringssprog indbygget, med følgende kommandoer:

IF "<parm>"=="<værdi>"
IF NOT "<parm>"=="<værdi>"
IF EXIST <filpath>
IF NOT EXIST <filpath>
IF ERRORLEVEL == <værdi>
GOTO <label>
FOR %%F IN (<filpath>) DO <kommando>
ECHO <tekst>
ECHO OFF
ECHO ON
ECHO.

hvor
<parm> er %0 , %1, %2 osv. svarende til de parametre du angiver ved start af .BAT filen. (%0 er dog navnet på .BAT-filen selv.)
<værdi> er en eller anden værdi, f.eks. af parameteren.
<filpath> er en gyldig fil-path, inkl. ? og * som du kender det, f.eks. c:\*.bat
<label> er en linie i din .BAT fil, der starter med : og labelens navn, f.eks. :END
<kommando> er en hvilken som helst DOS kommando (eller kald af program) som du kan fyre af fra en DOS vindue
<tekst> en hvilken som helst tekst du kan skrive. (Echo. giver en blank linie.)

ECHO kommandoen styrer om man skal kunne se de kommandoer der fyres af i .BAT filen mens den kører eller ej. (ECHO OFF betyder vis ingenting.)

Et lille fif:
Når du skal afprøve din .BAT fil kan du starte den vha. command.com /K /Y <navn på bat fil>, så single-stepper DOS-fortolkeren igennem din .BAT fil.
Avatar billede soepro Nybegynder
21. februar 2002 - 13:36 #8
Glemte et par vigtige kommandoer (den ene har egentlig ikke noget med .BAT at gøre, men er meget brugbar)

SET <variabel>=<værdi>
REM <Tekst>
SHIFT Skift alle parametre eet trin til højre
PAUSE Stopper .BAT filen og venter på en tast for at køre videre. (Eller Ctrl+Break eller Ctrl+C for at stoppe)

hvor
<variabel> er et eller andet navn, du vil bruge andetsteds i dit .BAT "program"

ERRORLEVEL parameteren indeholder evt. returkode fra kald af et program som f.eks. edit, og indeholder normalt en værdi forskellig fra 0, hvis noget er gået galt. ERRORLEVEL er en slags bit-vis sammenligning, så vis programmet returnerer værdien 5, er både IF ERRORLEVEL 5, IF ERRORLEVEL 3 og IF ERRORLEVEL 1 sande. Det er derfor meget normalt at man starter med at checke den højeste værdi først.

Et lille eksempel med det maste af d.o.

@echo off
if "%1"=="/SHOW" goto SHOW

rem Default er at vise alle .BAT filer i roden.
set FILESPEC=C:\*.BAT
if NOT "%1"=="" set FILESPEC=%1

rem Vis de valgte filer.
for %%f in (%FILESPEC%) do call %0 /SHOW %%f
goto EXIT

:SHOW
if exist %TEMP%\abort.cmd goto EXIT

SHIFT
echo Viser filen %1 ...
type %1
if ERRORLEVEL 2 GOTO ABORT
if ERRORLEVEL 1 GOTO EXIT

echo Tryk på en tast
pause > NUL
goto EXIT

:ABORT
echo.
echo Afbryder ...
echo Aborting %0 > %temp%\abort.cmd
goto EXIT

:END
rem Slet FILESPEC variablen igen
if exist %TEMP%\abort.cmd del %temp%\abort.cmd > NUL
set FILESPEC=
echo ON

:EXIT
Avatar billede soepro Nybegynder
21. februar 2002 - 13:39 #9
Som du kan se af eksemplet, understøtter .BAT faktisk rekursion - det er ikke alle programmeringssprog der gør det.
Avatar billede djernaes Nybegynder
21. februar 2002 - 16:51 #10
:-)
Avatar billede geek1011 Nybegynder
25. februar 2002 - 11:42 #11
Jo, C gør!
BAT og andre Shell-scripts, kan aldrig indhente C-compilere.
Desuden er C-compilere gratis. Du kan downloade en fra www.bloodshed.net
Avatar billede devilinheaven Nybegynder
16. november 2006 - 19:10 #12
Åben et textdokument og skriv

Open
Dos
C:\WINDOWS\system32\

fx \logoff.exe og så smid det ind i start menuen på ens pc... så hver gang han logger ind så logger den automatisk ud igen hehe... det er mega sjovt
Avatar billede schamakki Nybegynder
05. november 2007 - 15:35 #13
jeg sider og roder lidt med nogle bat filer, og hvis jeg vil havde den til at skrive, en linie og så enter:

cd ..

cd ..

cd mplayer

./mencoder.exe -ovc raw -ofps 15 -oac pcm -vf scale=176:-2,expand=176:132,format=bgr16 in.avi -o out.avi

Hvordan ville jeg skulle skrive det?
Avatar billede schamakki Nybegynder
05. november 2007 - 15:35 #14
i komandopromt
Avatar billede bertelbrander Praktikant
05. november 2007 - 21:43 #15
Schamakkis spørgsmål diskuteres her:
http://www.eksperten.dk/spm/804427

Hvor det retteligt hører hjemme.
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