Stránka 1 z 1

Kdo ještě umíte napsat dávkový baťák (*.bat)

Napsal: 11. 8. 2011, 12:05
od Ruprecht
Už jsem spoustu věcí zapomněl :)

Mám konverzní exáč, jeho parametry jsou vstupni_soubor a vystupni_soubor. Podle přípony pozná co na co konvertovat.
V adresáři je 20 souborů, pojmenovaných vždy stejně 01.eps až 20.eps, potřebuju z nich udělat 01.svg až 20.svg.
V příkazovém řádku tedy pro jeden soubor "convert 01.eps 01.svg"
Napsal jsem si tedy preved.bat, který obsahuje 20 řádků

call convert 01.eps 01.svg
call convert 02.eps 02.svg
.
.
call convert 20.eps 20.svg

No a teď bych ho potřebovat spustit najednou ve 200 adreářích...


p.s.:
pokus jsem učinil, napsal jsem druhý bat, ale ten nefachá. Jakože proběhne, ale nic nepřevede:
cd 001
call preved.bat
cd..
cd 002
call preved.bat
cd..
.
.
.

šel jsem na to hrubou silou, smyčky už jsem zapomněl... :)

Re: Kdo ještě umíte napsat dávkový baťák (*.bat)

Napsal: 11. 8. 2011, 12:21
od Mad_BOXs
Tohle umí TotalCommander -soubory -přejmenovat více položek Ctrl+M.

Re: Kdo ještě umíte napsat dávkový baťák (*.bat)

Napsal: 11. 8. 2011, 12:34
od oscar
strejda gugl?

Use

for /r path %%var in (*.*) do some_command %%var

with:

path being the starting path.
%%var being some identifier.
*.* being a filemask OR the contents of a variable.
some_command being the command to execute with the path and var concatenated as parameters.

ael to asi nebude rekurzivni

anebo

for /r C:\files %%X in (*.jpg) do (echo convertneco_nekam.bat %%X >> E:\convert.bat)
ale pak nevim co s tema priponama

Re: Kdo ještě umíte napsat dávkový baťák (*.bat)

Napsal: 11. 8. 2011, 1:15
od Ruprecht
Mad_BOXs píše:Tohle umí TotalCommander -soubory -přejmenovat více položek Ctrl+M.
To by šlo, ale jde o konverzi formátů, ne o přejmenování :)

Re: Kdo ještě umíte napsat dávkový baťák (*.bat)

Napsal: 11. 8. 2011, 1:21
od Ruprecht
oscar píše:strejda gugl?

Use

for /r path %%var in (*.*) do some_command %%var

with:

path being the starting path.
%%var being some identifier.
*.* being a filemask OR the contents of a variable.
some_command being the command to execute with the path and var concatenated as parameters.

ael to asi nebude rekurzivni

anebo

for /r C:\files %%X in (*.jpg) do (echo convertneco_nekam.bat %%X >> E:\convert.bat)
ale pak nevim co s tema priponama
Dík, FOR je ten správný příkaz, já ho mám už pár let jen jako číselný cyklus... :)

Re: Kdo ještě umíte napsat dávkový baťák (*.bat)

Napsal: 11. 8. 2011, 1:25
od gnat
To neni tak jednoduchy. Potrebuje rozebrat ten nazev souboru a dostat jmeno bez pripony. Melo by to vypadat asi takhle:

@ECHO OFF
FOR /F "tokens=1 delims= " %%d IN ('DIR /AD /B') DO FOR /F "tokens=1 delims=./ " %%f IN ('DIR %%d\*.eps /B') DO CALL convert.bat %%d\%%f.eps %%d\%%f.svg