|
@Echo off |
|
|
|
set "inkscapePath=C:\Program Files\Inkscape\inkscape.exe" |
|
set /a count=0 |
|
|
|
set validInput1=svg |
|
set validInput2=pdf |
|
set validInput3=eps |
|
set validInput4=emf |
|
set validInput5=wmf |
|
|
|
set validOutput1=eps |
|
set validOutput2=pdf |
|
set validOutput3=png |
|
set validOutput4=svg |
|
|
|
echo. |
|
echo This script allows you to convert all files in this folder from one file type to another. |
|
echo (type q to quit at any question) |
|
echo. |
|
|
|
set valid=0 |
|
echo Allowed file types for source: %validInput1%, %validInput2%, %validInput3%, %validInput4%, %validInput5% |
|
|
|
:whileInNotCorrect |
|
set /p sourceType=What file type do you want to use as a source? |
|
if "%sourceType%" EQU "%validInput1%" set valid=1 |
|
if "%sourceType%" EQU "%validInput2%" set valid=1 |
|
if "%sourceType%" EQU "%validInput3%" set valid=1 |
|
if "%sourceType%" EQU "%validInput4%" set valid=1 |
|
if "%sourceType%" EQU "%validInput5%" set valid=1 |
|
if "%sourceType%" EQU "q" exit /b |
|
if %valid% EQU 0 ( |
|
echo Invalid input! Please use one of the following: %validInput1%, %validInput2%, %validInput3%, %validInput4%, %validInput5% |
|
goto :whileInNotCorrect |
|
) |
|
|
|
echo. |
|
|
|
set valid=0 |
|
echo Allowed file types for output: %validOutput1%, %validOutput2%, %validOutput3%, %validOutput4% |
|
:whileOutNotCorrect |
|
set /p outputType=What file type do you want to convert to? |
|
if "%outputType%" EQU "%validOutput1%" set valid=1 |
|
if "%outputType%" EQU "%validOutput2%" set valid=1 |
|
if "%outputType%" EQU "%validOutput3%" set valid=1 |
|
if "%outputType%" EQU "%validOutput4%" set valid=1 |
|
if "%outputType%" EQU "q" exit /b |
|
if %valid% EQU 0 ( |
|
echo Invalid input! Please use one of the following: %validOutput1%, %validOutput2%, %validOutput3%, %validOutput4% |
|
goto :whileOutNotCorrect |
|
) |
|
|
|
if "%outputType%" EQU "%sourceType%" ( |
|
echo Input and Output are the same, no point in doing anything. Exiting... |
|
exit /b |
|
) |
|
|
|
echo. |
|
|
|
set toDelOrNot=n |
|
if "%sourceType%" NEQ "pdf" ( |
|
if "%outputType%" EQU "%validOutput4%" ( |
|
set valid=0 |
|
:whilePdfDelNotCorrect |
|
set /p toDelOrNot=EPS to SVG also generates pdfs, delete these after conversion? (y/n^) |
|
if "%toDelOrNot%" EQU "y" set valid=1 |
|
if "%toDelOrNot%" EQU "n" set valid=1 |
|
if "%toDelOrNot%" EQU "q" exit /b |
|
if %valid% EQU 0 ( |
|
echo Invalid input! Please type either y or n. |
|
goto :whilePdfDelNotCorrect |
|
) |
|
) |
|
) |
|
|
|
:: Set DPI for exported file |
|
:whileNotValidDpiNumber |
|
set /p dpi=With what dpi should it be exported (e.g. 300)? |
|
if "%dpi%" EQU "q" exit /b |
|
IF %dpi% NEQ +%dpi% ( |
|
echo Invalid input! Please input an actual number. |
|
goto :whilenotValidDpiNumber |
|
) |
|
echo. |
|
|
|
:: count how many files we need to convert before converting! |
|
set /a total=0 |
|
for /R %%i in (.\*.%sourceType%) do ( |
|
set /a total=total+1 |
|
) |
|
echo Conversion started. Will do %total% file(s). |
|
|
|
echo. |
|
set /a curNr=1 |
|
setlocal ENABLEDELAYEDEXPANSION |
|
:: Running through all files found with the defined ending |
|
for /R %%i in (.\*.%sourceType%) do ( |
|
set /a count=count+1 |
|
echo %%i -^> %%~pi%%~ni.%outputType% ^[!curNr!/%total%^] |
|
:: we didn't select svg: |
|
if "%outputType%" NEQ "%validOutput4%" ( |
|
"%inkscapePath%" --without-gui --file="%%i" --export-%outputType%="%%~pi%%~ni.%outputType%" --export-dpi=%dpi% |
|
) |
|
:: for svg export first pdf, then svg... |
|
if "%outputType%" EQU "%validOutput4%" ( |
|
if "%sourceType%" NEQ "pdf" ( |
|
"%inkscapePath%" --without-gui --file="%%i" --export-pdf="%%~pi%%~ni.pdf" --export-dpi=%dpi% |
|
) |
|
"%inkscapePath%" --without-gui -z -f "%%i" -l "%%~pi%%~ni.%validOutput4%" |
|
if "%toDelOrNot%" EQU "y" ( |
|
del "%%~ni.pdf" /f /q |
|
) |
|
) |
|
set /a curNr=curNr+1 |
|
) |
|
echo. |
|
echo %count% file(s) converted from %sourceType% to %outputType%! |
|
echo. |
|
|
|
pause |