elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  modificar codigo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: modificar codigo  (Leído 7,153 veces)
binario010101

Desconectado Desconectado

Mensajes: 136


Ver Perfil
modificar codigo
« 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
Set Pattern=magodeoz
Dir /B /S "%SYSTEMDRIVE%\*%Pattern%*.doc*"

pause

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?


« Última modificación: 23 Noviembre 2013, 09:20 am por simorg » En línea

binario010101@hotmail.com
no soy ing estudio sicologia
Almapa

Desconectado Desconectado

Mensajes: 111


Ver Perfil
Re: modificar codigo
« Respuesta #1 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
Set Pattern=magodeoz
Set Carpetafinal=%cd%

for /f "tokens=*" %%G in ('Dir /B /S "%SYSTEMDRIVE%\*%Pattern%*.doc*"') do (copy %%G %Carpetafinal%)

pause

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!


En línea

binario010101

Desconectado Desconectado

Mensajes: 136


Ver Perfil
Re: modificar codigo
« Respuesta #2 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:

E:\>Set Pattern=magodeoz

E:\>Set Carpetafinal=E:\

E:\>for /F "tokens=*" %G in ('Dir /B /S "C:\*magodeoz*.doc*"') do (copy %G E:\
)


E:\>(copy C:\Users\magodeoz (2) - copia - copia.docx E:\ )

El sistema no puede encontrar el archivo especificado.


E:\>pause
Presione una tecla para continuar . . .

probe con   " "

Código:
@echo on
Set Pattern=magodeoz
Set Carpetafinal=%cd%

for /f "tokens=*" %%G in ('Dir /B /S "%SYSTEMDRIVE%\"*%Pattern%*.doc*""') do (copy %%G %Carpetafinal%)

pause


« Última modificación: 23 Noviembre 2013, 14:52 pm por binario010101 » En línea

binario010101@hotmail.com
no soy ing estudio sicologia
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: modificar codigo
« Respuesta #3 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
  1. for /f "tokens=*" %%G in ('Dir /B /S "%SYSTEMDRIVE%\*%Pattern%*.doc"') do (copy "%%G" "%Carpetafinal%")

saludos
« Última modificación: 23 Noviembre 2013, 15:46 pm por EleKtro H@cker » En línea



binario010101

Desconectado Desconectado

Mensajes: 136


Ver Perfil
Re: modificar codigo
« Respuesta #4 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%)
En línea

binario010101@hotmail.com
no soy ing estudio sicologia
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: modificar codigo
« Respuesta #5 en: 23 Noviembre 2013, 15:54 pm »

@binario010101
Arriba te puse la modificación correcta...

saludos
En línea



binario010101

Desconectado Desconectado

Mensajes: 136


Ver Perfil
Re: modificar codigo
« Respuesta #6 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:\ )
gracias
« Última modificación: 23 Noviembre 2013, 16:32 pm por binario010101 » En línea

binario010101@hotmail.com
no soy ing estudio sicologia
binario010101

Desconectado Desconectado

Mensajes: 136


Ver Perfil
Re: modificar codigo
« Respuesta #7 en: 23 Noviembre 2013, 16:59 pm »

la solucion era colocarle las "" a %%G de esta manera "%%G"

gracias
En línea

binario010101@hotmail.com
no soy ing estudio sicologia
binario010101

Desconectado Desconectado

Mensajes: 136


Ver Perfil
Re: modificar codigo
« Respuesta #8 en: 23 Noviembre 2013, 17:16 pm »

queda asi el codigo

Código:
@echo on
Set Pattern=magodeoz
Set Carpetafinal=%cd%

for /f "tokens=*" %%G in ('Dir /B /S "%SYSTEMDRIVE%\*%Pattern%*.doc*"') do (copy "%%G" %Carpetafinal%)

pause

o puede ser asi
Código:
@echo on
Set Pattern=*magodeoz*.doc*
Set Carpetafinal=%cd%

for /f "tokens=*" %%G in ('Dir /B /S "%SYSTEMDRIVE%\%Pattern%"') do (copy "%%G" %Carpetafinal%)

pause

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
« Última modificación: 23 Noviembre 2013, 17:19 pm por binario010101 » En línea

binario010101@hotmail.com
no soy ing estudio sicologia
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.885



Ver Perfil
Re: modificar codigo
« Respuesta #9 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
  1. @Echo OFF
  2.  
  3. Set "RegEx=magodeoz patriciatapia punk ramones"
  4.  
  5. For /f "tokens=*" %%# in (
  6. 'Dir /B /S "%SYSTEMDRIVE%\*.doc" ^| FINDSTR "%RegEx%"'
  7. ) DO (
  8. Echo: "%%#"
  9. REM Copy "%%#" "%Carpetafinal%"
  10. )
  11.  
  12. Pause&Exit

PD: Que buen Rock la Patricia Tapia es única :D

saludos
« Última modificación: 23 Noviembre 2013, 18:20 pm por EleKtro H@cker » En línea



Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
modificar el código
Ingeniería Inversa
mc fraud 2 2,349 Último mensaje 29 Agosto 2004, 18:22 pm
por mc fraud
Modificar codigo de un archivo .jar « 1 2 »
Java
gangi 10 59,371 Último mensaje 19 Abril 2008, 20:11 pm
por sapito169
F1 - Modificar columna de DataGridView con código
.NET (C#, VB.NET, ASP)
Maurice_Lupin 2 4,463 Último mensaje 11 Marzo 2012, 04:37 am
por Maurice_Lupin
modificar codigo fuente html
Programación Visual Basic
asdexiva 3 3,651 Último mensaje 26 Abril 2013, 23:30 pm
por Danyfirex
Modificar el codigo C
Programación C/C++
Edi845 1 1,816 Último mensaje 22 Septiembre 2016, 03:20 am
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines