Ayuda nombres de archivo y carpeta

Mi problema es que tengo unas 3.000 carpetas, y dentro de cada una de ellas hay un archivo.
Lo que quiero es darle a ese archivo el nombre de la carpeta que lo contiene, y depues eliminar todas las carpetas y colocar todos los archivos en una sola.
espero que me podais ayudar...Gracias
Supongo que usas windows... yo no. Te pongo cómo se haría desde linux en terminal. Si no lo tienes, podrías desde un livecd montando la partición.

Si no, pues para que te hagas una idea de cómo sería mediante comandillos, tendrías que transformar esto (es shell script bash) al formato de la terminal de windows, que no sé ni cómo se llama.

TMP="tmp"
mkdir $TMP
for i in *; do
  if [ $i != $TMP ]; then
    cp $i/* $TMP/$i
    rm -r $i
  fi
done
mv $TMP/* .
rmdir $TMP


Tendrías que situarte en el directorio donde tienes todas las carpetas ésas y ejecutar eso. Si tienes un directorio "tmp", cambia en la primera línea "tmp" por lo que quieras, sin quitar las comillas.

En fin, no sé si te servirá de algo. Saludos

Edito: no había tenido en cuenta los espacios. Te lo pongo en una línea, por si lo llegas a usar, que no creo :P

TMP="tmp"; mkdir "$TMP"; for i in *; do if [ "$i" != "$TMP" ]; then cp "$i/"* "$TMP/$i"; rm -r "$i"; fi; done; mv "$TMP/"* .; rmdir "$TMP"
gracias por contestar...
voy a probar.
2 respuestas