¿Cómo pongo en cola múltiples archivos para copiar en una Mac?


15

Cuando copio varios archivos en una Mac, el sistema intenta copiarlos todos al mismo tiempo. El problema es doble.

En primer lugar, cuando selecciona varios archivos y los copia, todos entran en un proceso con un enfoque de "todo o nada" similar a ACID en las bases de datos. A menudo esto no es deseable.

Además, cuando agrega otros procesos de copia, el sistema intenta copiar todo al mismo tiempo.

Por ejemplo, decido copiar un archivo grande A, luego decido copiar también un archivo grande B. Esto da como resultado dos operaciones de copia paralelas, independientemente de si uno de los "archivos grandes" también es una selección de muchos archivos.

No me gusta esto por varias razones:

  • Cuando varios procesos de copia se ejecutan a la vez, parece empantanar otros procesos.
  • Además, cuando se copian varios archivos al mismo tiempo, el proceso de copia en sí parece ir mucho más lento.
  • Y, por último, si se cancela el proceso, ninguno de los archivos llega a su destino.
  • Al agregar un archivo a la cola, también comenzará a copiarse de inmediato y atascará el proceso aún más.
  • Este es un problema real cuando se copia a otras máquinas o unidades en la red (local).

Resultado: el archivo A, que quería transferir y usar primero, tarda mucho más en llegar de lo necesario, y cuando copio desde un HD central en la LAN, no puedo usar el primer archivo hasta que todos los demás archivos también hayan llegado.

Por lo tanto ... ¿Cómo puedo poner en cola múltiples archivos para copiar en una Mac? Para aclarar: independientemente de que se elijan muchos archivos, o se agreguen uno por uno, quiero que todos se coloquen en una cola que solo copie un archivo a la vez, hasta que finalice la cola.

¡Las respuestas en Bash y especialmente en Perl también son bienvenidas!


Realmente no entiendo la pregunta. En parte, parece que comienzas varias operaciones de copia independientes a la vez, y luego, ¿no ...? ¿Ha intentado copiar todos los archivos relevantes como parte de la misma operación de copia, por ejemplo, seleccionándolos todos y luego arrastrándolos al destino? o seleccionándolos Cmd-C, entonces Cmd-Ven el destino?
Daniel Beck

@Daniel Traté de aclarar la pregunta: este es un problema que también me he encontrado: se trata de iniciar operaciones de copia independientes. La solución sería una cola en la que simplemente puede poner archivos para copiar y los trabajos se procesarían de forma secuencial.
slhck

@slhck ¿Cómo funciona y, por último, si el proceso se aborta, ninguno de los archivos que llegan a su destino se aplica a operaciones independientes? ¿Qué puedo hacer? No puedo usar el primer archivo hasta que todos los otros archivos también hayan llegado. ¿media?
Daniel Beck

1
También es un problema al seleccionar muchos archivos y copiarlos. Todos los archivos constituyen un proceso en el que los archivos que contiene no se pueden poner en cola. Esto es en mi humilde opinión también malo. Sin embargo, también me gustaría agregar archivos a una cola.
Kebman

En realidad, se copian uno tras otro. ¿Quieres decir que el orden en que se copian es esencialmente aleatorio?
Daniel Beck

Respuestas:


8

UltraCopier

UltraCopier es una utilidad de copia gratuita y multiplataforma que se encuentra actualmente en desarrollo, por lo que aún no es tan ordenada y pulida. Una vez que lo instales, se ubica en la barra de menú.

Gestiona una lista de copias que le permite poner en cola copias o mover trabajos, que luego se procesan secuencialmente. También puede definir la prioridad del proceso de copia, así como el tamaño del bloque de la transferencia.

Con la nueva versión puede agrupar con origen y / o destino similar, o siempre o nunca.

ingrese la descripción de la imagen aquí


¡Agradable! ¡Utilizando! Funciona perfecto! Realmente busqué XCode, Cocoa y Objective C contemplando escribir mi propia aplicación.
Kebman

4

Aquí hay una solución bash:

cp file1 dest1; cp file2 dest2

Repita esto para la cantidad de archivos que desea copiar. Solo sigue agregando puntos y comas cp.

También podrías hacer

cp file1 dest1 && cp file2 dest2

En este ejemplo, el archivo solo se copiará si el anterior se copió correctamente.

Para una carpeta, puede hacer algo como esto:

for x in folder/*; do echo "Copying $x"; cp "$x" destdir; done

Pero cuando intenta copiar una carpeta completa de esta manera, se trata nuevamente como un proceso, lo cual no es deseable. También quiero que cada archivo en la carpeta esté en cola.
Kebman

1
@Kebman: Vea mi edición más reciente.
Wuffers

2
Tenga en cuenta los archivos con espacios y caracteres globales con el forenfoque. Probablemente lo haría con un find -print0cable xargs -0para estar a salvo.
slhck

2

Path Finder 6 parece más fácil de navegar que la ultracopiadora y definitivamente crea una señal clara, además tiene muchas más opciones. También hay una prueba de 30 días para ello.

Pero estoy usando esto profesionalmente, así que digo que vale la pena.

Operaciones de archivo en Path Finder 6 (video de YouTube)


1
Estaba buscando una solución gratuita, pero se sabe que Path Finder es una buena aplicación. De hecho, creo que es una pena que Finder sea tan simplista que necesites una aplicación de terceros si quieres hacer algo medio avanzado.
Kebman el

2

La alternativa de Finder Path Finder incluye una funcionalidad de cola de copia desde la versión 6.

Cola de transferencia de archivos

Acceda a las operaciones de archivos actuales desde un elemento de la barra de herramientas o desde una ventana unificada separada.


2

Además de algunos de los otros administradores de copias en este hilo, es posible que desee consultar ForkLift: http://www.binarynights.com/forklift/

Pros:

  • Activar / desactivar la cola
  • FTP + SFTP + Amazon S3 + WEBDav,
  • Montón de prácticas herramientas de sincronización dirigidas a desarrolladores.

Contras:

  • Pagado (aunque al momento de escribir este artículo hay un especial en la App Store pero ...),
  • La versión de la tienda de aplicaciones no tiene características (oh sandbox).

0

Planifica lo que quieres mover

  • Crear alias de las carpetas en la fuente
  • Mueva los alias a la carpeta de destino

Haga un script que encuentre los alias y reemplácelos con el origen (mover)

Inicia el script y ve a dormir.


Hola y bienvenidos a superuser.com. Publicas lecturas más como una discusión que como una respuesta. Por favor, no es que este no sea un foro de discusión e intente responder la pregunta que se le hizo. ¡Gracias! Tal vez podría editar su respuesta para hacerlo más sobre el tema.
sleske

No quiero planear Solo quiero poner en cola los archivos y moverlos uno por uno sin pensar. Crear alias es superfluo si ya usa un script. Además, si supiera cómo hacer un guión, ya lo habría hecho. ¿Tiene un ejemplo de una secuencia de comandos que admite la cola de archivos ?
Kebman

Ponga las rutas de origen y las rutas de destino en un archivo de texto "queue.txt", separado por un delimitador, como una tubería |. Ejemplo de una línea / foo / bar / source | / target. Entonces gato queue.txt | mientras lee l; do src = "$ (echo" $ l "| awk -F" | "'{print $ 1}')"; dst = "$ (echo" $ l "| awk -F" | "'{print $ 2}')"; echo "Copiando de $ src A $ dst"; cp -r "$ src" "$ dst"; hecho. Ese es un ejemplo muy crudo. No te aconsejaría que apuestes en guiones así, hay muchas trampas. De todos modos, si alguna vez lo intentas, comienza leyendo esto: devblog.virtage.com/2013/01/…
Ramkam

0

Tuve el mismo problema y encontré una aplicación en la tienda de aplicaciones llamada 'CopyQueue'.

https://itunes.apple.com/gb/app/copyqueue/id711074010?mt=12

Parece que funciona muy bien. Simplemente arrastre la (s) carpeta (s) o archivo (s) que desea copiar a la cola y comenzará a copiar a través de la cola. Puede pausar, reordenar la prioridad de la cola y una de mis funciones favoritas es hacer clic en verificar para confirmar que la copia se realizó correctamente.


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.