¿Por qué pierdo los datos del portapapeles después de copiar un archivo?

¿Por qué pierdo los datos del portapapeles después de copiar un archivo?

Me pregunto por qué pierdo datos del portapapeles al copiar un archivo. Después de seleccionar una cadena de texto y copiarla en el portapapeles, estos datos de texto copiados se pierden de alguna manera si selecciono un archivo y lo copio en el Explorador de Windows antes de pegar el texto en algún lugar.

Por ejemplo, selecciono y copio esta cadena de texto:

El perro negro corre de noche.

Luego voy al Explorador de Windows para seleccionar y copiar un archivo:

sin título.bat

Después de esto pego una copia del untitled.batarchivo. Si luego navego a algún lugar donde pueda pegar texto (como el Bloc de notas), la cadena de texto copiada originalmente ya no está en el portapapeles para pegar.

¿Por qué Windows hace esto?

Ejecutando Windows10 Pro

Respuesta1

No "pierdes" los datos del portapapeles. Simplemente se sobrescribe con nuevos datos ypor defectono puede acceder a datos antiguos ya que están almacenados como un único registro en la RAM. Hay mejores formas de rastrearlo, aunque se enumera una más adelante.

Es porque el sistema no puede saber completamente qué es exactamente lo que desea pegar y solo hay un único atajo Ctrl+ Vpara eso. Las aplicaciones se pueden codificar para buscar formatos específicos y manejarlos todos correctamente, si es necesario. Entonces depende del usuario decidir cuál es el último elemento. Y depende de la aplicación notificar al usuario si el formato actual es compatible, desafortunadamente muchos de ellos simplemente no hacen nada si se pega un formato no compatible.

Los cuadros de texto de preguntas y respuestas de este sitio web son un buen ejemplo. Puede tener texto ( CF_TEXT/ CF_UNICODETEXTtipo) como último elemento y se pegará como texto. También puede tener una imagen como último elemento ( CF_DIBtipo) y se cargará una imagen. O puede copiar un archivo desde el Explorador de Windows ( CF_HDROPtipo) y pegarlo, eso no hará nada, ya que la carga regular de archivos que no sean imágenes no es bienvenida aquí.

Para comparar, si redacta un correo en, digamos, Gmail, se admitirán todos estos tipos. CF_TEXTSeguirá pegando texto. CF_DIBSeguirá pegando la imagen en línea. Sin embargo, CF_HDROPesta vez se manejará mejor y se enviará como archivo adjunto.

Puede leer más sobre los tipos/formatos disponibles en Windowsaquí.


Puede utilizar administradores avanzados de portapapeles comoÍdempara sortear esta limitación:

  • De forma predeterminada, el acceso al historial de elementos es mucho más fácil: a través de una lista que puede mostrar y manipular (por ejemplo, con un acceso directo para ir al siguiente elemento), y puede configurarlo aún más si es necesario.
  • También puede configurar 3 buffers de copia especiales adicionales para usar en diferentes tipos de almacenamiento. En Options-> Copy Buffersestableces 3 combinaciones de teclas para cada búfer (lista separada): copiar, pegar y cortar. Digamos que lo defines como los atajos tradicionales + Shift. Luego puede copiar todos los archivos al búfer recién definido con Shift+ Ctrl+ Cy su portapapeles principal seguirá conteniendo texto. Esto puede resultar útil para determinados flujos de trabajo.

Y en Linux hayCopiarQ.

¿Por qué los propios sistemas no implementan múltiples buffers? Hay varias razones que entran en territorio "basado en opiniones", pero un hecho es que introducen desorden en términos de atajos/botones de teclado adicionales si su uso debe ser cómodo, y los sistemas desordenados de usuarios que no necesitan esta característica no lo serían. Se bueno.

Respuesta2

El portapapeles sólo puede guardarun elemento a la vez, posiblemente en uno o varios formatos. Por ejemplo, el navegador puede colocar el mapa de bits de la imagen, la URL de la imagen, el sitio web, el texto alternativo... cuando copia una imagen de algún sitio web y la aplicación de destino seleccionará el formato apropiado al pegar, pero sigue siendo solo un elemento. Puede comprobar los formatos actuales en el portapapeles fácilmentecon este

Si puede almacenar varios elementos, ¿cómo puede saber el sistema operativo qué pegar cuando presiona Ctrl+ V? Es lo mismo en casi todos los sistemas operativos. Si copia otra cosa, independientemente del tipo, el contenido anterior se perderá. La copia de imágenes de un archivo coloca el objeto que representa el archivo y también coloca la ruta del archivo como texto en el portapapeles, entonces, ¿cómo se puede conservar el texto anterior? Si se admite un portapapeles de varios elementos, entonces el comportamiento sensato al presionar Ctrl+ Ves pegar el elemento superior, pero si se colocó algo de texto en el portapapeles al copiar el archivo, entonces el texto anterior ya desapareció en la lista y no se puede pegado


Sin embargo, en Windows hay una función de historial del portapapeles incorporada, así que habilítela y presione Win+ V. Incluso se puede sincronizar entre PC con Windows.

Configuración del portapapeles

Historial del portapapeles

Respuesta3

El portapapeles de Windows puede contener múltiples formatos; cuando copia algo, la aplicación de origen generalmente colocará datos en el portapapeles en múltiples formatos. La aplicación de destino puede entonces elegir el "mejor" formato que admitan ambas aplicaciones. Copiar un elemento nuevo al portapapeles normalmente reemplaza el contenido existente.

Cuando copia y pega cosas en el Explorador de Windows, se utiliza el portapapeles de Windows, pero en lugar de mover/copiar todo el archivo al portapapeles, simplemente almacena los detalles del archivo allí, junto con si el usuario eligió un "corte" (mover archivo) o una operación de "copiar" (copiar archivo). Luego, cuando el usuario pega el archivo en el destino, se realiza el movimiento o la copia real.

Solía ​​ser que si copiabas algo en otra aplicación y lo pegabas en el Explorador de Windows, se creaba un archivo "desecho" que contenía el contenido del portapapeles, pero esta característica rara vez se usaba y se eliminaba en Windows Vista.

Esto deja al Explorador de Windows en una posición ligeramente extraña en la que utiliza el portapapeles del sistema, pero no puede interoperar con la mayoría de las otras aplicaciones.

Respuesta4

Otros ya han señalado las razones técnicas por las que esto sucede. Si quieres observar eso tú mismo, intentaNirSoft InsidePortapapeles. Le muestra lo que hay en el portapapeles de Windows (no el historial del portapapeles de Windows). Contendrá solo una cosa que hayas copiado, pero esa cosa puede existir en diferentes formatos, como texto sin formato o HTML.

Así es como le puede gustar a su texto:

Texto copiado

Después de

  • Ctrl+Co
  • Menú contextual de archivo / Copiar
  • Copia de cinta

en el Explorador de Windows:

Archivo copiado

Solución para este problema en particular:

  • Seleccione el archivo con el mouse y manténgalo presionado, presione Ctrlpara hacer una copia, mueva el mouse hasta que vea un ícono de copia, indicado por [+], luego suelte el botón del mouse.
  • utilizar herramientas de terceros comoCopia rápidapara copiar archivos.

información relacionada