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

ruzne programy,konverze dat, digitalizace, atd...
Odpovědět
Ruprecht
Příspěvky: 149
Registrován: 28. 9. 2010, 8:20
Bydliště: ZČ + JM

11. 8. 2011, 12:05

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... :)
Jděte s EU do Brusele...
Mad_BOXs
Příspěvky: 1420
Registrován: 14. 1. 2008, 4:30
Bydliště: Dvůr Kálové n.Labem

11. 8. 2011, 12:21

Tohle umí TotalCommander -soubory -přejmenovat více položek Ctrl+M.
bednar.dk@seznam.cz
SolidWorks 2011
Zakázková výroba jednoúčelových strojů
konstrukce strojů, automatizace,
http://www.indops.cz" onclick="window.open(this.href);return false;
oscar
Příspěvky: 1220
Registrován: 2. 5. 2010, 8:50
Bydliště: Perníkovice

11. 8. 2011, 12:34

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
Ruprecht
Příspěvky: 149
Registrován: 28. 9. 2010, 8:20
Bydliště: ZČ + JM

11. 8. 2011, 1:15

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í :)
Jděte s EU do Brusele...
Ruprecht
Příspěvky: 149
Registrován: 28. 9. 2010, 8:20
Bydliště: ZČ + JM

11. 8. 2011, 1:21

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... :)
Jděte s EU do Brusele...
gnat
Příspěvky: 985
Registrován: 24. 2. 2009, 9:14
Bydliště: doma
Kontaktovat uživatele:

11. 8. 2011, 1:25

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
SABLE-2015
Odpovědět

Zpět na „Ostatní software“