Q:

Delete all files inside all folders with a specific name with date before today

In my hard disk I have the following structure:
ROOTFOLDER   
├───FOLDER1
│   └───TMPFOLDER
│       ├───FOLDERTODELETE1
│       ├───FOLDERTODELETE2
│       └───FOLDERTODELETE3
├───FOLDER2
│   └───TMPFOLDER
│       ├───FOLDERTODELETE4
│       └───FOLDERTODELETE5
└───FOLDER3
    └───TMPFOLDER
        ├───FOLDERTODELETE6
        ├───FOLDERTODELETE7
        └───FOLDERTODELETE8

I need to create a kind of script (I was thinking about a batch file, but any other solution will be appreciated) to delete all folders within each folders with a specific name (in this case TMPFOLDER) and created before today.

A:

Following to your needs the batch script below will do what you need. Remove the echo in front of the rmdir command if it's okay for you. Take care that the script uses the current working directory. Remove /q if you want to be asked for each directory that should be deleted:
@echo off

set "tmpfolder=TMPFOLDER"

for /f "tokens=*" %%D in ('dir /b /a:d "*"') do (
   for /f "tokens=*" %%E in ('dir /b /a:d "%%D\*" ^| findstr /l /x %tmpfolder%') do (
      echo Found temp folder: "%%D\%%E"
      for /f "tokens=*" %%F in ('dir /b /a:d "%%D\%%E\*"') do (
         echo rmdir /s /q "%%D\%%E\%%F"
      )
   )
)

Edit #1:
The above script does not take care of the creation date of the folder that should be removed. You want only folders to be deleted which have a creation date before today. The following script takes care of that. Look here how to get dates of folder and here how to compare dates:
@echo off
setlocal EnableDelayedExpansion

set "tmpfolder=TMPFOLDER"

for /f "tokens=*" %%D in ('dir /b /a:d "*"') do (
   for /f "tokens=*" %%E in ('dir /b /a:d "%%D\*" ^| findstr /x /c:"%tmpfolder%"') do (
      rem echo Found temp folder: "%%D\%%E"
      for /f "tokens=*" %%F in ('dir /b /a:d "%%D\%%E\*"') do (
         rem echo    Subfolder: "%%F"
         set "curdate=!date!"
         set "dirdate="
         echo GETDATE
         call :getdate dirdate "%%D\%%E\%%F"
         set "dirdate=!dirdate:~-4!!dirdate:~3,2!!dirdate:~0,2!"
         set "curdate=!curdate:~-4!!curdate:~3,2!!curdate:~0,2!"

         rem echo    dirdate: "!dirdate!"
         rem echo    curdate: "!curdate!"
         rem echo.

         if [!dirdate!] LSS [!curdate!] (
            echo rmdir /s /q "%%D\%%E\%%F"
         )
      )
   )
)
goto :EOF

:getdate
rem call: getdate date(dstParam) folder(srcParam)
for /f "skip=5 tokens=1 delims= " %%A in ('dir /a:d /o:d /t:c "%~2"') do (
   set "%~1=%%A"
   goto :EOF
)

Command reference links from ss64.com:

DelayedExpansion
set
for /f
dir
findstr
if
call
goto
rem

