Menar du att det är massa exekverbara filer som du vill köra? I sådana fall: Nja den ska köra ett kommando Nått sånt här? Tack en liten offtopic fråga till denna. Tack men jag testade ditt script och det fungerar inte :-( Fattar det inte, det info jag har fått fram ska det inte vara några problem?? Har lagt till e:/ffmpeg/ eller e:\ffmpeg\ i din path, kolla att sökvägen är rätt och att du lagt till ; i din path innan du lade dit sökvägen till ffmpeg ffmpeg till path fungerar men ska testa din kodSv: Att köra alla filer i en katalog efter varandra i DOS?
for %i in (*.exe) do %i
/JohanSv:Att köra alla filer i en katalog efter varandra i DOS?
Så här har jag gjort det i Linux med bash
<code>
for file in *.avi; do `ffmpeg -i $file /newfolder/$file.avi`;done
</code>
Jag vill att dne ska köra varje AVI fil för sig i den katalog som scriptet är i och sedan ska jag skriva in var den färdiga AVI filen ska liggaSv: Att köra alla filer i en katalog efter varandra i DOS?
for %i in (*.avi) do ffmpeg -i %i C:\newfolder\%i
/JohanSv:Att köra alla filer i en katalog efter varandra i DOS?
Är det inte i systemvariablar man kan koppla så skriver jag ffmpeg någonstans i dospromten så läser en av från e:/ffmpeg/ffmpeg.exe
??Sv:Att köra alla filer i en katalog efter varandra i DOS?
<code>
oväntad i
for i -vcodec mpeg4 -acodec copy -s 720x400 -sws_flags lanczos -q
scale 4 -mbd 2 -trellis 1 -vtag DX50 C:/i
</code>Sv: Att köra alla filer i en katalog efter varandra i DOS?
Att jag kör i DOS och inte VB eller VBS är att jag vill köra kommandot efter varandra och inte samtidigt.Sv: Att köra alla filer i en katalog efter varandra i DOS?
I din kod ovan ser det ut att saknas lite saker, %-tecknet framför <b>i</b>, filurvalet och vad som skall göras..
<code>
for %i in (*.mpeg) do ffmpeg -vcodec mpeg4 -acodec copy -s 720x400 -sws_flags lanczos -q
scale 4 -mbd 2 -trellis 1 -vtag DX50 C:/i
</code>
<code>
FOR anropar ett kommando för var och en av filerna i ett urval.
FOR %variabel IN (urval) DO kommando [kommandoparametrar]
%variabel Anger en utbytbar parameter (en enda bokstav).
(urval) Anger en uppsättning av filer. Jokertecken kan användas.
kommando Anger kommandot som anropas för var och en av filerna.
kommandoparametrar Anger parametrar eller växlar för angivet kommando.
När FOR-kommandot används i en kommandofil, ange %%variabel istället för
%variabel. Variabelnamn är skiftlägeskänsliga. Därför skiljer sig %i.
från %I.
Om kommandotilläggen är aktiverade stöds följande tilläggsformat
för kommandot FOR:
FOR /D %variabel IN (uppsättning) DO kommando [parametrar]
Om uppsättningen innehåller jokertecken, matchas katalognamn
i stället för filnamn.
FOR /R [[enhet:]sökväg] %variabel IN (uppsättning) DO kommando [parametrar]
Går igenom katalogträdet med roten [enhet:]sökväg och tillämpar FOR-
uttrycket på varje katalog i trädet. Om ingen katalog
anges efter /R används den aktuella katalogen.
Om uppsättningen bara består av ett enda punkttecken (.)
kommer den att räkna upp katalogträdet.
FOR /L %variabel IN (start,steg,slut) DO kommando [parametrar]
Uppsättningen är en talsekvens från start till slut med avståendet steg.
Uppsättningen (1,1,5) skulle skapa talsekvensen 1 2 3 4 5 och (5,-1,1)
skulle skapa talsekvensen (5 4 3 2 1)
FOR /F ["alternativ"] %variabel IN (filuppsättning) DO kommando [parametrar]
FOR /F ["alternativ"] %variabel IN ("sträng") DO kommando [parametrar]
FOR /F ["alternativ"] %variabel IN ('kommando') DO kommando [parametrar]
eller, om alternativet usebackq används:
FOR /F ["alternativ"] %variabel IN (filuppsättning) DO kommando [parametrar]
FOR /F ["alternativ"] %variabel IN ('sträng') DO kommando [parametrar]
FOR /F ["alternativ"] %variabel IN (`kommando`) DO kommando [parametrar]
filnamnuppsättningen består av ett eller flera filnamn. Varje fil
öppnas, läses och bearbetas innan nästa fil i uppsättningen påbörjas.
Bearbetningen består i att filen läses in och delas upp i separata
textrader som sedan tolkas till noll eller flera token.
For-loopen anropas sedan med variabelvärdet satt till
de funna token-strängarna. Som standard skickar /F det
första tokenet (åtskilda med blanksteg) från varje rad i varje fil.
Tomma rader hoppas över. Du kan åsidosätta standardtolkningen
genom att ange den valfria parametern "alternativ". Det är en
sträng omsluten av citattecken som innehåller ett eller flera nyckelord
för annorlunda tolkning. Nyckelorden är:
eol=c - anger ett kommentartecken i slutet av raden
(bara ett)
skip=n - anger att n rader ska hoppas över i
i början av filen.
delims=xxx - anger en uppsättning avgränsare. Detta ersätter
blanksteg och tabb som standardavgränsare.
tokens=x,y,m-n - anger vilka token från varje rad som ska skickas
till loopen för varje iteration. Detta medför
att ytterligare variabelnamn allokeras.
Formatet m-n är ett intervall som anger token
nr n till token nr m. Om det sista tecknet
i strängens tokens= är en asterisk,
allokeras ytterligare en variabel som kommer
att innehålla den återstående texten på raden
efter senast bearbetade token.
usebackq - anger att den nya semantiken används.
I den körs strängar omslutna med lutande citattecken
som ett kommando och strängar omslutna med enkla
citattecken som literala strängkommandon. Det
innebär att du kan använda dubbla citattecken för
att omsluta filnamn i filnamnsuppsättningar.
Några exempel:
FOR /F "eol=; tokens=2,3* delims=, " %i in (minfil.txt) do @echo %i %j %k
tolkar varje rad i minfil.txt och ignorerar rader som börjar med ett
semikolon, skickar token nr 2 och nr 3 från varje rad till FOR-satsens
kropp. Kommatecken och blanksteg behandlas som avgränsare mellan token.
Notera att FOR-satsens kropp använder %i för att referera till token
nr 2, %j för att referera till token nr 3 och %k för att referera till
alla återstående token efter det tredje. Filnamn som innehåller blanksteg
måste omslutas med dubbla citattecken. För att kunna använda dubbla citat-
tecken på det här sättet måste du ange alternativet usebackq, annars
tolkas de dubbla citattecknen som en literal sträng som ska tolkas.
%i är explicit deklarerad i FOR-satsen och %j och %k är
implicit deklarerade via alternativet tokens=. Du kan ange upp till
26 token med raden tokens=, förutsatt att den inte medför ett
försök att deklarera en variabel som är högre än bokstaven "z" eller "Z".
Observera att FOR-variabelnamn består av en enda bokstav, är
skiftlägeskänsliga, globala och samt att högst 52 variabler kan vara
aktiva samtidigt.
Du kan även använda FOR /F på en direkt sträng genom att skriva
filnamnsuppsättningen omsluten med enkla citattecken mellan parenteserna.
Den kommer att behandlas och tolkas som en enda rad från en fil.
Slutligen går det att använda kommandot FOR /F för att tolka utdata från
ett kommando. Du gör detta genom att skriva filnamnsuppsättningen omsluten
av enkla, sneda citattecken mellan parenteserna. Den kommer att tolkas som
en kommandorad som skickas till en underordnad CMD.EXE vars utdata
infångas i minnet och tolkas som om den vore en fil. Det innebär att
följande exempel:
FOR /F "usebackq delims==" %i IN (`uppsättning`) DO @echo %i
räknar upp miljövariabelnamnen i den aktuella miljön.
Dessutom har ersättning av referenser för variabeln FOR förbättrats.
Det går nu att använda följande alternativa syntax:
%~I - expanderar %I och tar bort alla omslutande citattecken (")
%~fI - expanderar %I till en fullständig sökväg
%~dI - expanderar %I till endast en enhetsbeteckning
%~pI - expanderar %I till endast en sökväg
%~nI - expanderar %I till endast ett filnamn
%~xI - expanderar %I till endast ett filnamnstillägg
%~sI - den expanderade sökvägen innehåller endast kortnamn
%~aI - expanderar %I till filens filattribut
%~tI - expanderar %I till filens datum/tid
%~zI - expanderar %I till filens storlek
%~$PATH:I - söker igenom katalogerna angivna i miljövariabeln PATH
och expanderar %I till det fullständiga namnet för den
första funna förekomsten.
Om namnet på miljövariabeln inte är definierat,
eller om filen inte gick att hitta under sökningen,
expanderas den här modifieraren till den tomma strängen.
Modifierarna kan kombineras för att skapa sammansatta resultat:
%~dpI - expanderar %I till endast enhetsbeteckning och sökväg
%~nxI - expanderar %I till endast filnamn och filnamnstillägg
%~fsI - expanderar %I till en fullständig sökväg med
endast kortnamn
%~dp$PATH:I - söker efter %I i katalogerna angivna i miljövariabeln PATH
och expanderar till enhetsbeteckningen och sökvägen för den
första funna förekomsten.
%~ftzaI - expanderar %I till en KAT-liknande utdatarad
I ovanstående exempel kan %I och PATH ersättas med andra giltiga värden.
Syntaxen för %~ måste avslutas med ett giltigt FOR-variabelnamn.
Om du använder versaler som variabelnamn, t ex %I, blir syntaxen
lättare att förstå och du undviker förväxling med modifierarna (som
inte är skiftlägekänsliga).
</code>Sv:Att köra alla filer i en katalog efter varandra i DOS?