As aforementioned in Question title, I have a Batch/CMD(OS: Windows 10 64Bit) script to traverse the subfolders inside %LocalAppData%
if the passed argument to script is Chrome, and recursively find and list out all folders containing word Cache at any position.
The script I have come up with relying on for /d /r
loop is this:
@echo off && setlocal EnableDelayedExpansion
if /i "%1" equ "chrome" (
set "subPath0=\Google"
set "subPath1=\User Data"
for /d /r "%LocalAppData%!subPath0!\%1" %%i in (*Cache*) do (
echo "%%i"
)
) else (
for /d /r "%Appdata%\%1" %%i in (*Cache*) do (
echo "%%i"
)
)
But regardless of I escape the closing brackets inside for
loop like (*Cache*^)
or not, the above loop is not listing out any *Cache*
directories recursively, even though there are actually Cache folders inside the path(the one on which for
loop is running) inside User Data
folder.
So can anyone point out what am I doing wrong here and help fix this ?
Note: I know Powershell is good option to Batch/CMD, but this is supposedly part of larger script, so appreciate it much if suggestions/fixes in Batch/CMD.