windows - Run program in subfolders -
i'm trying write windows batch script run 2 programs through bunch of folders. i'm not expert @ shell scripting seek best.
here's i'm trying run through each folder...
the input program1 .extension1 file produces .extension2 file run through program2 generate need.
before run script cd folder. programs copied folder because work in current working directory.
copy c:\program1 . re-create c:\program2 . %i in (*.extension1) program1 "%i" %i in (*.extension2) program2 "%i"
the info folder shown above contains hundreds of folders need run programme in. i'd able in 1 big batch script.
class="lang-dos prettyprint-override">@echo off setlocal set "sourcedir=u:\sourcedir\one" pushd "%sourcedir%" /r %%a in (*.ext1) ( pushd "%%~dpa" echo(c:\program1 "%%~nxa" popd ) popd goto :eof
you need alter setting of sourcedir
suit circumstances.
in probability, need - or @ least, framework.
note routine echo
required commands. allows harmless test (on representative sub-tree) ensure process should work on entire tree.
changing echo(c:\program1
c:\program1
should execute first programme on each .ext1
file in sub-tree. unusual programme check file exists within same directory executable - if won't take path, "the current directory" assumed.
you don't whether programme program1
produces file called whatever.ext2
whatever.ext1
or whether produces somethingradicallydifferent.ext2
. in probability, same name used.
if case, run sec program, add together after
echo(c:\program1 "%%~nxa"
echo(c:\program2 "%%~na.ext2"
otherwise, repeat entire block, changing ext1
ext2
(i'll assume can figure out i've abbreviated extensions)
if, on off-chance program(s) need in same directory, replace
echo(c:\program1 "%%~nxa"
with
echo n|c:\program1 . >nul 2>nul echo(program1 "%%~nxa"
(and ditto programme 2, obviously). here n
echo
ed copy
, copy
take place once. improved theoretical requirement anyway since it's 99.9999% executing c:\program?
work quite happily.
windows batch-file cmd
No comments:
Post a Comment