Software con interfaz gráfica para copiar archivos [SOLUCIONADO]


#1

Buenas a todos.

Me llena de curiosidad saber, si existe algun programa ( gratis si es posible ) para poder hacer el siguiente trabajo:

Copiar muchos archivos ( un total de 100 ) de una carpeta, y que esa carpeta tiene a la vez 12 sub carpetas, y luego esas 12 subcarpetas tiene otras 30 carpetas cada Subcarpeta.

Espero me hayan entendido.

Si no entendieron explico de nuevo:

Necesito saber si se puede transferir, 100 archivos de una carpeta, esa carpeta tiene cerca de 12 subcarpetas y 30 subcarpetas cada Sub.

¿ será posible ? obviamente con algun programa con interfaz grafica, porque si lo haces a mano es mucho quilombo… o sea te volves mono.

Gracias.-

#SOLUCIONADO


#2

No sé si soy yo, tuve un mail viernes, o no entendí el pedido.

¿Vos ya tenes armado el árbol de directorios en el lugar actual?

Si es así, ¿si copias la carpeta raíz no estarías copiando todo igual?

Abrazo.


#3

No sirve copiar la carpeta raíz porque sólo necesito 100 archivos de esas carpetas antes detalladas.


#4

Los 100 archivos tienen extension en particular o formato que sean distintos a los otros?


#5

@logico tienen extension : todos los archivos son .PDF y .XML, son facturas electronicas. (( todos, todos )). Los que necesito ( esos 100 ) y el resto que no necesito copiar, tambien la misma extension.


#6

Si ejecutas este comando en una terminal (cmd)

robocopy /e tu_carpeta_origen *.pdf *.xml carpeta_destino

Recrea la estructura de directorios de tu_carpeta_origen en carpeta_destino (incluso las carpetas vacias) y copia en sus respectivas carpetas todos los archivos pdf y xml
Si no queres que te copie las carpetas vacias sacale el /e
No se si esta solucion te sirve


#7

Ahhhh, llega tarde al edit, si todos los archivos que estan dentro de esa carpeta son pdfs y xmls ese comando te va a copiar todo. Tenes otra forma de identificarlos? Fecha de creacion o modificacion? Nombres en particular? o algo que para que puedas automatizarlo (regex)?


#8

la realidad que ese trabajo no es para mi, otro tecnico me preguntó como copiarlos facil y rapido. A penas me responda, te aviso eso del tema como identificarlos segun sus metadatos.

Pero de paso preguntar eso, me re sirve para aprender.

Gracias.


#9

Ya me dijo el chico que no sabe como diferenciar los archivos que necesita (( esos 100 )) de los otros , o sea segun fecha o metadatos. O sea el tiene claro que si o si necesita copiar esas 100 facturas electronicas con esa extension .pdf y .xml.

¿ sabras como hacerlo, sin hacerlo a mano ?.


#10

Y ahi esta el problema, si el no puede diferenciarlos tampoco puede hacerlo la maquina. Va a tocar hacerlo mano lamentablemente


#11

Hola a todos, primero que nada gracias por comentar, soy la persona interesada en el tema… Les Explico.

Tengo 2 Carpetas (2016 y 2017), cada una de ellas tiene 12
subcarpetas (por cada mes) y cada sub carpeta tiene entre 28 y 31 sub
subcarpetas (días) EN CADA una de estas sub subcarpetas hay archivos XML y PDF
que son facturas electrónicas.

-2017 - Enero
- Febrero
- Marzo - 1
- 2
- 3

Hay aproximadamente 10mil ficheros,…. Bueno de echo son
10mil facturas es decir 20mil ficheros.

Tengo una lista de aproximadamente 100 archivos que están en
esas subcarpetas y necesito copiar.

*.- No son secuenciales

*.- No son de la misma fecha

Originalmente pensé en subir la lista a synback, PERO no
tiene la opción.


#12

De la lista de 100 archivos sabes, como se llaman cada uno?


#13

Tenes algún criterio para decidir cual de los PDF tenes que copiar? Alguna parte del nombre o rango de fechas particular?


#14

Claro… En esa lista tengo cada nombre de archivo completo.


#15

Solo el de la lista…

como comente arriva, son facturas electronicas… se envian automaTICAMENTE por correo… PERO hay clientes que piden el CD entonces como es una cantidad de dinero considerable se les envia… por ahora se hace a mano PERO estoy buscando el modo de simplificar.


#16

En PowerShell podes ejecutar esto

gc .\lista.txt | % { Robocopy.exe /s .\2016\ .\2016-Filtrada $_ }

Lo que hace es leer el archivo lista.txt y copia la estructura de directorio con los archivos que aparecen en lista.txt y los guarda en la carpeta 2016-Filtrada.

Luego si los nombres de archivos no se repiten podes ejecutar

Get-ChildItem -recurse .\2016-Filtrada\ -Include *.xml, *.pdf | Foreach-Object { xcopy.exe $_.FullName .\2016-Final\ }

Te copia los archivos que estan dentro de la carpeta y subcarpetas de 2016-Filtrada y te las guarda todos juntos en la raiz de 2016-Final.

Si lo queres hacer script:

param(
	[Parameter(Mandatory=$True)]
	[string]$lista,
	
	[Parameter(Mandatory=$True)]
	[string]$origen,
	
	[Parameter(Mandatory=$True)]
	[string]$destino,
	
	[string]$agrupar
)

gc .\$lista | % { Robocopy.exe /s $origen $destino $_ }

if ( $agrupar )
{
	Get-ChildItem -recurse $destino -Include *.xml, *.pdf | Foreach-Object { xcopy.exe $_.FullName $agrupar }
}

Uso

.\facturas.ps1 -lista .\lista-archivos.txt -origen .\2016\ -destino .\2016-Filtrada\ -agrupar .\2016-Final\

-lista: Obligatorio - Archivo txt con la lista de archivos a buscar
-origen: Obligatorio - Carpeta donde estan los archivos a buscar (El nombre tiene que terminar con barra invertida)
-destino: Obligatorio - Carpeta donde se van a almacenar los archivos que se leen de la lista y estan en la carpeta origen (El nombre tiene que terminar con barra invertida)
-agrupar: Opcional - Carpeta donde se van a almacenar todos juntos los archivos que se leen de la lista. Si hay nombres iguales te pregunta si queres copiarlo o sobreescribirlos. (El nombre tiene que terminar con barra invertida)

Tenes que copiar el texto del script y guardarlo como facturas.ps1. Despues lo ejecutas en powershell. Si no te permite ejecutar scripts, ejecuta PowerShell como administrador y ejecutas/aceptas este comando

set-executionpolicy remotesigned

Espero que te sirva


#17

Excelente, Gracias, lo reviso.


#18

Habia un error en los filtros, puse *.xlsx y es *.xml. Ahi lo corregi


#19

Fantástico Logico. Gracias por compartir tu conocimiento.


#20

Logico ANIMAL.

+10 al genio.