Está escrito em bash / cygwin e trabalha para o que eu precisava - o que parece ser similar às suas necessidades ... Não é eficiente, mas é eficaz.
=================
find -maxdepth 1 -type d | grep -v "^\.$" | while read D ; do
cd "$D"
F='ls -1tr | tail -1'
cd ..
touch -r "$D/$F" "$D"
done
=================
Brian