Herramienta para agregar todo el texto copiado a un archivo

Lo que me gustaría es una herramienta en la que, cada vez que copie algo desde cualquier lugar, lo agregue a un archivo de texto, ya sea dentro de dicha herramienta o en un archivo personalizado.

Sé que hay varios administradores de portapapeles, que guardan un historial de todo lo que cortas/copias, y luego no puedes elegir del historial y copiar de nuevo. De hecho, uso "Ditto".
Pero eso no es exactamente lo que necesito.

Para aclarar, déjame usar un ejemplo.

Digamos que necesito copiar varios nombres de una lista de estudiantes students.txt(S) y luego pegarlos en otro archivo, llamémoslo class_b.txt(C).

La solución directa es copiar un nombre de S, ir a C y pegarlo, ir de nuevo a S, copiar otro alumno no consecutivo, ir de nuevo a C y pegarlo. Repetir.

Obviamente es tedioso y poco práctico.

Lo que me gustaría es poder mantener en S, y cada vez que copio algo, y sin nada más, agregarlo en algún lugar. Luego, al final, tendría a todos los estudiantes ordenados cuidadosamente, desde donde puedo copiarlos todos juntos y pegarlos donde quiera.

También sería bueno poder elegir si quiero agregarlos en líneas nuevas o directamente antes o después del texto actual.

es decir, copiar a, b, cen ese orden podría resultar en cualquiera de las 4 opciones:

//append at the end, in new line:

a
b
c

//append at the end, same line:

abc

//append at the beginning, same line:

cba

//append at the beginning, new line:

c
b
a

¿Existe alguna herramienta de este tipo?

Bien descrito, Diego (+1). Como dudo que exista tal herramienta, solo nombro un sustituto: hay editores que usan pestañas para múltiples archivos abiertos, lo que al menos podría facilitar el proceso (Notepad ++ es un ejemplo de esto en Windows). ¡Buena suerte para los "reales"!

Respuestas (2)

AutoHotKey

AutoHotKey es un excelente programa para automatizar tareas rutinarias en Windows, y este no es la excepción. Lo que quieras se puede hacer usando uno de estos scripts:

Adjuntar al final

#NoEnv
#Persistent
#SingleInstance

OnClipboardChange:
  FileAppend, %Clipboard%`n, D:\AppendAtEnd.txt
return

Explicación:

Observa cualquier cambio en el portapapeles y luego agrega el contenido como texto a un archivo D:\CopiedText.txt.

`n= Salto de línea. Eliminar para evitar que la secuencia de comandos inserte nuevas líneas después de cada anexo


Adjuntar al principio

Agregar datos al comienzo de un archivo es un proceso más largo, implica leer el archivo original, eliminarlo después y luego escribir el portapapeles y el contenido del archivo en un nuevo archivo:

#NoEnv
#Persistent
#SingleInstance

OnClipboardChange:
  FileRead, Contents, D:\AppendAtBeginning.txt
  FileDelete, D:\AppendAtBeginning.txt
  FileAppend, %Clipboard%`n, D:\AppendAtBeginning.txt
  FileAppend, %Contents%, D:\AppendAtBeginning.txt
return

Ambas cosas

Asegúrese de no ejecutar los dos scripts anteriores simultáneamente si los tiene accediendo al mismo archivo. Puede usar diferentes nombres de archivo o combinarlos en un script que escriba el contenido del portapapeles en dos archivos, uno en cada orden:

#NoEnv
#Persistent
#SingleInstance

OnClipboardChange:
  FileAppend, %Clipboard%`n, D:\AppendAtEnd.txt
  FileRead, Contents, D:\AppendAtBeginning.txt
  FileDelete, D:\AppendAtBeginning.txt
  FileAppend, %Clipboard%`n, D:\AppendAtBeginning.txt
  FileAppend, %Contents%, D:\AppendAtBeginning.txt
return

Prueba KwikText. Arrastre y suelte texto en una plantilla, luego haga clic y pegue en cualquier documento. Los bloques de texto pueden ser de cualquier tamaño, desde una sola línea hasta varios párrafos. El material se puede etiquetar y editar en la plantilla. Es gratis, así que vale la pena intentarlo. El sitio web tiene videos que muestran cómo usarlo.