Avatar billede schamakki Nybegynder
05. november 2007 - 15:41 Der er 11 kommentarer og
1 løsning

Hvordan laver man bat filer?

Hej Eksperter

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 i komandopromt?
Avatar billede pidgeot Nybegynder
05. november 2007 - 15:49 #1
...du ville oprette en tekstfil der indeholder de linjer og hedder .bat til sidst?
En .bat-fil er intet andet end en tekstfil med kommandoer, som du i princippet lige så godt kunne have skrevet manuelt i kommandoprompten en ad gangen.
Avatar billede schamakki Nybegynder
05. november 2007 - 15:58 #2
ja, men jeg ville godt have at det var batfilen der skrev teksten.
Avatar billede pidgeot Nybegynder
05. november 2007 - 16:51 #3
Ah - du vil have den til at generere en fil der indeholder det?

I så fald skulle dette fungere:

echo <din tekst her> >> fil.txt

>> gør at teksten tilføjes i slutningen af filen du angiver, fremfor at den overskriver (som > havde gjort).
Avatar billede pidgeot Nybegynder
05. november 2007 - 16:55 #4
...og der skal du så bruge en af dem pr. linie du vil have ud, altså:

echo cd .. >> fil.txt
echo cd .. >> fil.txt
echo cd mplayer >> fil.txt

...osv.
Avatar billede schamakki Nybegynder
05. november 2007 - 17:26 #5
det jeg gerne vil havde til at ske er at filen cygwin.bat skal åbnes også så i det åbnede pogram skal der skrives:

cd ..  "Enter"

cd ..  "Enter"

cd mplayer  "Enter"

./mencoder.exe -ovc raw -ofps 15 -oac pcm -vf scale=176:-2,expand=176:132,format=bgr16 filename.here -o out.avi  "Enter"
Avatar billede bertelbrander Novice
05. november 2007 - 20:05 #6
Løsningen er at lave en .sh fil og få cygwin kommando fortolkeren (som vist hedder bash) til at afvikle .sh filen, hvilket kan gøres ved at angive .sh filen som argument til programmet. Jeg har afinstalleret cygwin, da det ikke giver andet end problemer så jeg kan ikke demonstrere hvordan.

Men hvorfor blande cygwin ind i sagen?
Avatar billede pidgeot Nybegynder
05. november 2007 - 20:57 #7
Jeg vil umiddelbart skyde på at mencoder er kompileret under cygwin, og derfor kræver at den kan finde den relevante DLL. Det kan den vist ikke hvis shellen ikke kører, og cygwin1.dll ikke er i det bibliotek programmet ligger i.

Du kan muligvis også have en fil der indeholder kommandoerne, og så bruge dem som input til cygwin med < - altså cygwin < fil.txt - men det var måske endnu nemmere enten at lægge Cygwin DLL'en i samme mappe som programmet, eller alternativt tilføje c:\cygwin\bin til PATH. På den måde kan du faktisk køre det uden at skulle starte en ekstra shell op.
Avatar billede schamakki Nybegynder
05. november 2007 - 21:27 #8
man kan ikke bare lave en "skriv >tekst< her" og "enter" komando i bat ?
Avatar billede bertelbrander Novice
05. november 2007 - 21:30 #9
Det er ret besværligt (læs næsten umuligt) at styre en cygwin shell fra en .bat fil.
Hvorfor ikke bare køre programmet uden cygwin?
Avatar billede schamakki Nybegynder
05. november 2007 - 22:20 #10
okay... har i en liste over komandoerne til batch filerne?
Avatar billede bertelbrander Novice
05. november 2007 - 22:38 #11
Åben en kommandoprompt
Skriv:
help<enter>
Så får du en liste over alle kommandoerne.

Skriv:
help kommando<enter>
så får du hjælp til kommandoen "kommando"
Avatar billede schamakki Nybegynder
20. februar 2008 - 11:32 #12
Tak for Hjælpen :D
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