Page 1 of 1

Making bat do multiple files

Posted: 29 Jan 2013 08:25
by nickodemos
I have a script that works well except that it only does one file at a time. I was wanting to ask if someone could help make it so that it works by either dropping multiple files on top of the batch, do the directory it is in when activated, or both.


Code: Select all


if not [%~x1]==[.epub] goto :eof
START /w "" "%~dp0unzip.exe" %1 -d "%~dp0tmp"
CD %~dp0
for /r "%~dp0tmp\" %%a IN (*.opf) do sed -i -e "/<dc:date>NONE<\/dc:date>/d" -e "s,iso-8859-1,UTF-8," "%%a"
for /r "%~dp0tmp\" %%b IN (*.htm,*.html,*.opf,*.xhtml,*.xml) do sed -i -e "s,meta name=\"Adept.resource\" value=\"urn:uuid:[[:xdigit:]]\{8\}-[[:xdigit:]]\{4\}-[[:xdigit:]]\{4\}-[[:xdigit:]]\{4\}-[[:xdigit:]]\{12\}\"/,meta name=\"Inept.resource\" content=\"urn:uuid:00000000-0000-0000-0000-000000000000\"/," "%%b"
for /r "%~dp0tmp\" %%b IN (*.htm,*.html,*.opf,*.xhtml,*.xml) do sed -i -e "s,meta content=\"urn:uuid:[[:xdigit:]]\{8\}-[[:xdigit:]]\{4\}-[[:xdigit:]]\{4\}-[[:xdigit:]]\{4\}-[[:xdigit:]]\{12\}\" name=\"Adept.expected.resource\"/,meta content=\"urn:uuid:00000000-0000-0000-0000-000000000000\" name=\"Inept.expected.resource\"/," "%%b"
for /r "%~dp0tmp\" %%c IN (*.*) do touch -d "1980-01-01 0:00:00" "%%c"
CD %~dp0tmp
START /w "" attrib -a *.* /s
START /w "" "%~dp0zip.exe" -X0 "%~dp1%~n1-obfu.epub" mimetype
START /w "" "%~dp0zip.exe" -rDX9 "%~dp1%~n1-obfu.epub" * -x "*.DS_Store" -x "*.db" -x mimetype
CD %~dp0
RMDIR /s /q "%~dp0tmp"

Re: Making bat do multiple files

Posted: 29 Jan 2013 08:31
by Squashman

Code: Select all

:BEGIN

if not [%~x1]==[.epub] goto :eof
START /w "" "%~dp0unzip.exe" %1 -d "%~dp0tmp"
CD %~dp0
for /r "%~dp0tmp\" %%a IN (*.opf) do sed -i -e "/<dc:date>NONE<\/dc:date>/d" -e "s,iso-8859-1,UTF-8," "%%a"
for /r "%~dp0tmp\" %%b IN (*.htm,*.html,*.opf,*.xhtml,*.xml) do sed -i -e "s,meta name=\"Adept.resource\" value=\"urn:uuid:[[:xdigit:]]\{8\}-[[:xdigit:]]\{4\}-[[:xdigit:]]\{4\}-[[:xdigit:]]\{4\}-[[:xdigit:]]\{12\}\"/,meta name=\"Inept.resource\" content=\"urn:uuid:00000000-0000-0000-0000-000000000000\"/," "%%b"
for /r "%~dp0tmp\" %%b IN (*.htm,*.html,*.opf,*.xhtml,*.xml) do sed -i -e "s,meta content=\"urn:uuid:[[:xdigit:]]\{8\}-[[:xdigit:]]\{4\}-[[:xdigit:]]\{4\}-[[:xdigit:]]\{4\}-[[:xdigit:]]\{12\}\" name=\"Adept.expected.resource\"/,meta content=\"urn:uuid:00000000-0000-0000-0000-000000000000\" name=\"Inept.expected.resource\"/," "%%b"
for /r "%~dp0tmp\" %%c IN (*.*) do touch -d "1980-01-01 0:00:00" "%%c"
CD %~dp0tmp
START /w "" attrib -a *.* /s
START /w "" "%~dp0zip.exe" -X0 "%~dp1%~n1-obfu.epub" mimetype
START /w "" "%~dp0zip.exe" -rDX9 "%~dp1%~n1-obfu.epub" * -x "*.DS_Store" -x "*.db" -x mimetype
CD %~dp0
RMDIR /s /q "%~dp0tmp"

SHIFT
IF NOT "%~1"=="" GOTO :BEGIN