Título: modificar codigo Publicado por: binario010101 en 23 Noviembre 2013, 03:18 am hola amigos me pueden ayudar a modificar este codigo para que copie los archivos del resultado de la busqueda a la carpeta desde la cual se ejecuta el bat
Código: @echo on el codigo lo que hace es buscar cual de los archivos del disco local de extensión .doc contiene la palabra magodeoz. quiero copiar esos archivos a la usb desde la cual ejecuto el bat o a una carpeta de la usb gracias [MOD] "no soy ing estudio sicologia" ¿Será Psicologia? Título: Re: modificar codigo Publicado por: Almapa en 23 Noviembre 2013, 08:38 am Si el comando 'Dir' ya te saca los archivos que quieres copiar bien, sin ningún dato que pueda molestar, con un "for /f" ya podrías recorrer todas las salidas de dicho comando y por lo tanto copiarlas donde quieras. Prueba algo así:
Código: @echo on Obviamente en la variable "Carpetafinal" tendrás que poner la ruta donde quieras que se copien, o de lo contrario eliminar la variable y ponerlo directamente sobre el comando. PD: No te aseguro que vaya, pues no lo he probado. Un saludo! Título: Re: modificar codigo Publicado por: binario010101 en 23 Noviembre 2013, 14:37 pm funciona amigo el problema es que si el archivo tiene un espacio en el nombre no lo copia.
lo intente asi Código:
probe con " " Código: @echo on Título: Re: modificar codigo Publicado por: Eleкtro en 23 Noviembre 2013, 15:39 pm Código: "%SYSTEMDRIVE%\"*%Pattern%*.doc*"" Has escrito comillas de más. Código: Expresión abierta Código: "Expresión cerrada" Código: "Expresión"troll"" Código saludos Título: Re: modificar codigo Publicado por: binario010101 en 23 Noviembre 2013, 15:52 pm las "" que sobran las puse para tratar de corregir el problema no funciono.
el codigo sin modificar es Código: for /f "tokens=*" %%G in ('Dir /B /S "%SYSTEMDRIVE%\*%Pattern%*.doc*"') do (copy %%G %Carpetafinal%) modificado es probado asi pero se mantiene el error Código: for /f "tokens=*" %%G in ('Dir /B /S "%SYSTEMDRIVE%\"*%Pattern%*.doc*""') do (copy %%G %Carpetafinal%) Título: Re: modificar codigo Publicado por: Eleкtro en 23 Noviembre 2013, 15:54 pm @binario010101
Arriba te puse la modificación correcta... saludos Título: Re: modificar codigo Publicado por: binario010101 en 23 Noviembre 2013, 16:30 pm ese codigo es el de el problema porque si los archivos llevan espacios en el nombre no los copia, luego publique uno a el que le puse las "" pero no soluciono el problema. entonces estoy experimentado cambiado la posicion de las "".
en algunos casos se que funcina ej cuando vas a copiar un archivo llamado (nuevo magode.doc) debes escribirlo ("nuevo magode.doc"). pero en el caso en concreto no se como hacer eso Código: E:\>(copy C:\Users\magodeoz (2) - copia - copia.docx E:\ ) Título: Re: modificar codigo Publicado por: binario010101 en 23 Noviembre 2013, 16:59 pm la solucion era colocarle las "" a %%G de esta manera "%%G"
gracias Título: Re: modificar codigo Publicado por: binario010101 en 23 Noviembre 2013, 17:16 pm queda asi el codigo
Código: @echo on o puede ser asi Código: @echo on ahora me pregunto si es posible que en la misma búsqueda buscar cuatro palabras, para no tener que repetir la búsqueda cuatro veces y ahorrar tiempo? magodeoz, patriciatapia, punk y ramones Título: Re: modificar codigo Publicado por: Eleкtro en 23 Noviembre 2013, 17:37 pm ahora me pregunto si es posible que en la misma búsqueda buscar cuatro palabras, para no tener que repetir la búsqueda cuatro veces y ahorrar tiempo? Eso requiere modificar la lógica de búsqueda complétamente, debes dejar de usar un patrón de búsqueda en el comando Dir y en su lugar buscar todos los archivos de dicha extensión (doc), y luego filtrar la salida del comando Dir utilizando una expresión regular en el sistema de regex (tan simplón como Batch, no acepta ni Pipes) con el comando FINDSTR: Código PD: Que buen Rock la Patricia Tapia es única :D saludos Título: Re: modificar codigo Publicado por: binario010101 en 23 Noviembre 2013, 17:55 pm hola gracias por tu codigo lo probé este es el resultado
Código:
buscado soluciones el codigo anterior debe ser modificado para que busque palabras con asentos (óz)? observo que no copia los archivos con acentos como magodeóz entonces le coloque el hacento pero en la consola paracio fue ú. porque tengo que cambiar la codificacion? Título: Re: modificar codigo Publicado por: Eleкtro en 23 Noviembre 2013, 18:21 pm @binario010101
Culpa mía, lo escribí al vuelo, me comí una comilla en la expresión del FOR, ya está corregido, vuelve a testear el código modificado de arriba saludos Título: Re: modificar codigo Publicado por: binario010101 en 23 Noviembre 2013, 18:46 pm ahora si localiza los archivos pero no los copia.
Código:
agrege una nueva palabra a la busqueda. (magodeóz) pero no loscaliza los archivos con acentos. como aparece un simbolo rraro por el acento use este (?) gracias Título: Re: modificar codigo Publicado por: Eleкtro en 23 Noviembre 2013, 19:14 pm ahora si localiza los archivos pero no los copia. Porsupuesto, no los copia, es algo intencionádo. Vuélvete a fijar mejor en el código... debajo de la linea del echo, hay una linea de comentario, descoméntala. PD: Te recomiendo la lectura de cualquier manual básico de Batch Saludos! Título: Re: modificar codigo Publicado por: binario010101 en 23 Noviembre 2013, 19:20 pm conoces una buena pagina donde leer todo sobre bat. e leido unas pero ya son muy repetidas
gracias y ya borre las lineas Título: Re: modificar codigo Publicado por: Eleкtro en 23 Noviembre 2013, 19:27 pm conoces una buena pagina donde leer todo doble bat. e leino unas pero ya son muy repetidas Este (http://ss64.com/nt/syntax.html), junto a este (http://foro.elhacker.net/scripting/tema_bloqueado_hasta_finalizar_el_tuto_tutorial_extendido_de_aprendizaje_batch-t375135.0.html;msg1797907#msg1797907) otro. saludos |