locked
Eliminar una lista de archivos RRS feed

  • Pregunta

  •  

    Tengo una lista de archivos en un documento lista.txt

    dentro de lista.txt hay:

    direcciones de archivos que quiero eliminar (los nombres tienen ";" punto y coma)

    cuando en la consola de comandos escribo:

     del< lista.txt

    Me sale un error.

    habra alguna manera de poder eliminar todos los archivos.

     

    NOTA: la lista de archivos la obtuve con un script que hice, tengo un poco de conocimientos de scripting.

     

    Si me podria ayudar les agardeceria mucho.

     

    Gracias de antemano.

    Saludos

    Ronald Romani

    lunes, 1 de octubre de 2007 17:39

Respuestas

  • En ese caso:

     

    @echo off
    for /f %%i in (lista.txt) do del "%%i"

     

    y ya está.

     

    Un saludo,

     

    lunes, 1 de octubre de 2007 18:48

Todas las respuestas

  • Dejame el contenido de las primeras lineas de ese fichero para hacerme una idea, y te hago un script para ello.

     

    Un saludo,

    lunes, 1 de octubre de 2007 17:57
  • Hola Jose, en primer lugar felicitarte por tus articulos publicados en multingles, la verdad que hasta ahora trato de descifrar algunos de tus scripts.

    Mira este es mi caso:

    en el archivo lista.txt tengo este contenido:

    C:\carpeta\ronald001\canciones;02_09;autor1.doc

    C:\carpeta\ronald001\canciones;02_09;autor2.doc

    C:\carpeta\ronald001\canciones;02_09;autor3.doc

    C:\carpeta\ronald001\canciones;02_09;autor4.doc

    C:\carpeta\ronald001\canciones;02_09;autor5.doc

    C:\carpeta\ronald001\canciones;02_10;autor1.doc

    C:\carpeta\ronald001\canciones;02_10;autor2.doc

    C:\carpeta\ronald001\canciones;02_10;autor3.doc

    C:\carpeta\ronald001\canciones;02_10;autor4.doc

    C:\carpeta\ronald001\canciones;02_10;autor5.doc

    C:\carpeta\ronald002\canciones;02_09;autor1.doc

    C:\carpeta\ronald002\canciones;02_09;autor2.doc

    C:\carpeta\ronald002\canciones;02_09;autor3.doc

    C:\carpeta\ronald002\canciones;02_09;autor4.doc

    C:\carpeta\ronald002\canciones;02_09;autor5.doc

    C:\carpeta\ronald002\canciones;02_10;autor1.doc

    C:\carpeta\ronald002\canciones;02_10;autor2.doc

    C:\carpeta\ronald002\canciones;02_10;autor3.doc

    C:\carpeta\ronald002\canciones;02_10;autor4.doc

    C:\carpeta\ronald002\canciones;02_10;autor5.doc

    .

    .

    .

    y asi como 400 carpetas.

     

    Espero puedas ayudarme.

     

    Ahh de veras tambien estaba viendo tu script que haz publicado en http://multingles.net/docs/jmt/sumdias.htm

    Aun lo estoy estudiando, pero quiero hacerle la siguiente variacion.

    que la fecha de entrada sea del siguiente formato mm/dd/aaaa

    y obtener el mismo resultado. pero esto aun lo voy a investigar y ojala me puedas orientar si tengo algun problema.

     

    Muchas gracias por tu tan pronta respuesta.

    lunes, 1 de octubre de 2007 18:24
  • Hola, buenas,

     

    para que sea mas facil, tendrias que cambiar el Punto-Coma por el espacio.

     

    Despues podrias utilizar el comando siguiente (en un fichero .CMD):

     

    Bloque de código

    for /f "eol= tokens=* delims=" %%i in (lista.txt) do del %%i

     

     

    Si los ficheros tienes espacios, se puede utilizar los "

     

    Un saludo.

     

     

    lunes, 1 de octubre de 2007 18:31
  • Con respecto al script que me preguntas al final de tu post... cuando quieras.

     

    Y con respecto a este en particular, quiero suponer que:

     

    C:\carpeta\ronald002\canciones --> es la carpeta "padre·

     

    02_10  --> es una subcarpeta de la anterior

     

    autor1.doc --> es el nombre dle fichero a eliminar.

     

    En ese caso, el script sería:

     

    @echo off
    for /f "tokens=1,2,3* delims=;" %%i in (lista.txt) do del %%i\%%j\%%k

     

    Un saludo,

    lunes, 1 de octubre de 2007 18:34
  •  Thierry DEMAN-BARCELÒ Escribió:

    para que sea mas facil, tendrias que cambiar el Punto-Coma por el espacio.

    Despues podrias utilizar el comando siguiente (en un fichero .CMD):

    Bloque de código

    for /f "eol= tokens=* delims=" %%i in (lista.txt) do del %%i

     

     

    Si los ficheros tienes espacios, se puede utilizar los "

     

     

    Cuidado, que no vale si es lo que yo estoy suponiendo... (y no es necesario cambiar el ";"). Mira mi respuesta.

     

    Un saludo,

    lunes, 1 de octubre de 2007 18:36
  • La carpeta padre es C:\carpeta

    dentro de ella hay varias carpetas ronald001, ronald002, ronald003, ronald 004, ronald005, ... ronald400

    en cada una de esas carpetas hay los archivos :

    canciones;02_09;autor1.doc (este es el nombre completo del archivo)

    canciones;02_09;autor2.doc (este es el nombre completo del archivo)

     

     

    lunes, 1 de octubre de 2007 18:42
  • En ese caso:

     

    @echo off
    for /f %%i in (lista.txt) do del "%%i"

     

    y ya está.

     

    Un saludo,

     

    lunes, 1 de octubre de 2007 18:48
  • Si es lo que estaba buscando, muchas gracias.

    Este tema de los scripts me ha gustado mucho, voy a seguir investigando para llgar a un nivel aceptable.

    lunes, 1 de octubre de 2007 19:44
  • Pues puedes comenzar por este articulo mio, que realmente es un curso de scripts (bat/cmd):

     

    http://www.multingles.net/docs/jmt/comandos/comandos.html

     

    Un saludo,

    lunes, 1 de octubre de 2007 19:51
  • Hola,

     

    cuando se nota el contenido del fichero "lista.txt", es preferable dejar los ";" y utilizar los como "delims"!

     

    Pero, yo no tenia el formato del fichero cuando hizo mi respuesta.

    Saludos.

    lunes, 1 de octubre de 2007 21:36