Siguiendo las mejores prácticas de seguridad , mantengo un archivo de texto sin formato con mis contraseñas en mi disco duro. De hecho, acabo de copiar y pegar uno de ellos para acceder a mi cuenta PPCG.
En un momento lúcido, decido que es mejor que la contraseña no permanezca en el portapapeles después de su uso. Como esto me sucede a menudo, podría usar un programa para eliminar el contenido del portapapeles.
Desafío
Escriba un programa o función que elimine o sobrescriba cualquier texto contenido en el portapapeles, utilizando un lenguaje de programación de su elección.
Detalles adicionales:
Si su sistema tiene varios portapapeles, puede escribir el programa para cualquiera de ellos. El único requisito es que el usuario deba poder copiar y pegar texto usando ese portapapeles.
Si su portapapeles mantiene un historial de entradas copiadas recientes, asuma la entrada más reciente.
Si su respuesta es específica de un sistema operativo o portapapeles, indíquelo en el título de su publicación, junto con el idioma utilizado.
Se garantiza que el portapapeles contendrá texto cuando se ejecute su programa. Puede eliminar el contenido del portapapeles o sobrescribirlo con otra cosa (no necesariamente texto). El único requisito es que después de ejecutar el programa, pegar desde el portapapeles no producirá el texto original.
Si elige sobrescribir con un texto fijo o elegido al azar, puede suponer que el contenido del portapapeles anterior es diferente de ese texto, por lo que la contraseña se elimina de manera efectiva. En otras palabras, ignore la posibilidad de que el texto de relleno coincida con la contraseña.
El programa no debería tener efectos secundarios como reiniciar el sistema, cerrar programas, apagar la computadora o congelarla. Después de ejecutar su programa, el usuario debe poder seguir usando la computadora de manera normal, solo con la contraseña eliminada del portapapeles. Además, las lagunas estándar están prohibidas.
El código más corto en bytes gana.
Respuestas:
Excel, 1 pulsación de tecla
Funciona porque Excel, de manera única, siempre tiene una selección. Probablemente también funcione en otras aplicaciones de hoja de cálculo. A diferencia de las otras entradas de broma, las respuestas de Excel son en realidad algo frecuentes en PPCG.
fuente
PowerShell, 3 bytes
Ese es un alias predeterminado para
Set-Clipboard
. Cuando se llama sin nada entubado y sin argumentos suministrados, elimina el contenido actual del portapapeles.fuente
Vim, 3 bytes
Establece el contenido del portapapeles en una nueva línea.
Por defecto, vim abre un búfer vacío al inicio. Ahora el programa
Y
anks (copia) toda la línea (incluida una nueva línea) y la almacena en su portapapeles tirando el texto en el registro"*
. Se*
puede cambiar a a+
para el otro portapapeles.fuente
Javascript (Chrome DevTools Console), 6 bytes
Tenga en cuenta que esta es una característica de la consola (que también funciona en la consola FF) y no forma parte del estándar de idioma.
fuente
[\n ""\n]
)[\n ""\n ]
Document.execCommand("copy")
o es un portapapeles interno al navegador? Lo uso en algunos scripts de mono de manipulación, pero demasiado vago para comprobarloAppleScript, 20 bytes
Establece el portapapeles en ... nada.
Ahorré muchos bytes eliminando el código para enviarme el contenido del portapapeles;)
fuente
Lote (Windows 7 y versiones superiores), 7 bytes
Nota: responderá un mensaje de error como "FC: ..." pero funciona.
"clip" es un comando para copiar la salida de otro programa al portapapeles (disponible desde Windows 7)
"fc" es un comando para comparar dos o más archivos. en este caso no ingresamos ningún archivo. producirá un error, luego "clip" establecerá el portapapeles en una cadena vacía.
siempre que tenga un archivo "a" en su directorio actual (puede estar vacío), puede hacerlo mejor:
Editar: Vea el comentario de @Matthew Steeples para la versión más corta (pero en PowerShell no es un lote)
fuente
sc
lugar defc
evitar el mensaje de error. Luego, elsc
texto de ayuda se establecería en el portapapeles. Además, +1 por contarmeclip
.cd
. :-)x|clip
?h
es un alias (por defecto) paraget-history
, así que puedes hacerloh|clip
Bash en macOS, 8 bytes
:
podría ser reemplazado por casi cualquier otro personaje individual.fuente
:|pbcopy
funciona tanto en bash como en zsh.C (en Windows),
6562 bytesEditar: Guardado 3 bytes gracias a @Orion.
fuente
0
lugar deNULL
?AHK , 10 bytes
(Windows)
Borra el contenido de texto del portapapeles. Si
clipboardAll
se usa, lo borra todo.De los documentos -
fuente
Java 8,
127125bytesGolfizado:
Sin golf:
fuente
SmileBASIC 3, 10 bytes
¡Finalmente, un desafío prácticamente hecho para SmileBASIC 3!
CLIPBOARD
es una función integrada que establece el portapapeles de texto del entorno en la cadena dada. Aquí le damos una cadena vacía (¡"
no es necesario cerrarla !)fuente
'
!Excel VBA,
98 bytesSobrescribe el portapapeles con el contenido de la
A1
celda en la hoja de trabajo activa (vacía por defecto, pero puede ser cualquier cadena / expresión de su elección, ¡solo asegúrese de que no sea su contraseña!).Utiliza la ventana Inmediato.
Un byte guardado gracias a Slai
fuente
[a1].Cut
Python
564840 bytes (solo funciona en Linux) .8 bytes guardados gracias a @wheatwizard.
fuente
system
desdeos
usted puedeimport os as o
y llame en suo.system
lugar. Tampoco necesita los espacios alrededor de su tubería en el comando bash.as o
parte ... (import os \n os.system("echo |xclip"
)echo
con:
for":|xclip"
__import__('os').system("echo|xclip")
xclip
invocadosxsel
, que le ahorrarían otro byte, y como ya se mencionó, elimine la parte de importación "como o" nuevamente, solo hace las cosas más largas:import os;os.system(":|xsel")
(29 bytes).Google Chrome Language, 2 pulsaciones de teclas
Basado en esta respuesta de Notepad ++.
Google Chrome es compatible con Javascript (que a su vez es compatible con RegExp), por lo que declaro que es un superconjunto de Javascript y un lenguaje propio.
Cómo funciona:
Ctrl+S
invocará el cuadro de diálogo "Guardar página" con el texto "Nueva pestaña" preseleccionado,Ctrl+C
lo copiará en el portapapeles y desplazará el contenido anterior.Nota al margen:
fuente
bash + xsel
87bytesExplicación
-b
: Funciona en la selección del portapapeles-c
: borra la selecciónfuente
b
.Mathematica, 17 bytes
Establece el portapapeles en el número 0.
fuente
R (Windows) 18
fuente
readLines(file("clipboard", "r"))
podría funcionar. Intente buscar en los documentos de ayuda de R en "Funciones para manipular conexiones".Matlab,
1913 bytesEstablecer el contenido del portapapeles en una figura vacía.
fuente
axes;print -dmeta;close
pero también funciona ...close
podría decirse que se puede eliminar. Por "efectos secundarios" estaba pensando en cosas que desaparecen, no aparecen. Además,print(gcf,'-dm')
funciona-dm
era así-dmeta
, y pensé que el programa debería funcionar 'silenciosamente', sin abrir ninguna ventana :)Bash,
111087 bytes2 bytes guardados gracias a @seshoumara por usar en
ls
lugar deecho
Gracias a la hexafracción, Isaac y Riker por sugerir varios 7 byters
El portapapeles se establece en el resultado de
w
. Esto solo funciona en sistemas basados en X11. Por ejemplo, en macOS, se puede acceder a este portapapeles utilizando una aplicación basada en X como XQuartz.Respuesta anterior solo para macOS (
119 bytes):Esto establece el contenido del portapapeles en una nueva línea.
fuente
ls|xclip
?ls /usr/bin | grep "^.\{1,3\}$"
buscaría un comando más corto: P)w|xclip
por uno menos. Vuelca la lista de usuarios registrados en el portapapeles.:|xclip
. En realidad borra el portapapeles.xclip
sin tuberías.Applescript, 23 bytes
fuente
Python + tkinter, 43 bytes
Python 3:
Python 2:
fuente
python-tk
) del "núcleo de Python".__import__("tkinter")....
, este es 1 byte más en este caso.C #, 30 bytes
¡Gracias a Nat , JMD y BgrWorker por sus sugerencias!
C # sin WPF, 36 bytes
Función incorporada que vacía el portapapeles.
Programa completo con caso de prueba:
fuente
Clipboard.Clear()
ya es una función, por lo que se puede descartar el lambda.System.Windows.Clipboard.Clear();
Pero, lprun podría ser una forma más ligera de ejecutar esta respuesta que VS o incluso VS Code..Forms
, no se compiló en Linux y no tengo una máquina Windows en este momento.Haskell, 34 bytes
Solo una función de biblioteca aburrida. También hay
clearClipboard
para el mismo recuento de bytes.fuente
Notepad ++, 3 pulsaciones de teclas
Inserta la letra a, la selecciona, la copia en el teclado.
Notepad ++ es un lenguaje válido, admite expresiones regulares y, por lo tanto, es un superconjunto de expresiones regulares, y consideramos que la expresión regular es un lenguaje válido.
fuente
consider regex to be a valid language
Referencias Aparentemente, RegExp no está Turing completo por sí mismo.It doesn't have to be Turing Complete to be a valid language
Según esa medida, podemos afirmar que casi cualquier cosa es un "lenguaje". Es decir, XML o HTML también tienen una sintaxis (e incluso se llaman a sí mismos idiomas, a diferencia de RegExp), sin embargo, no creo que sean aceptables. ¿Puede proporcionar un ejemplo de una respuesta Regexp pura, que ha sido votada por la comunidad? Además, creo que Notepad ++, en realidad no "admite regexp" en el sentido de que puede invocarlo mediante programación, y abrir el cuadro "Buscar y reemplazar" de la interfaz de usuario para escribir un RegExp allí, no es un "código de programa" en ninguna medida.<c-H>
y usar<tab>
para navegar por la interfaz de usuario e interactuar con todos los campos relevantes. También tenga en cuenta que la expresión regular puede determinar la originalidad de y agregar números. (Ambos en unario, que es la representación numérica predeterminada para expresiones regulares)Python 33 bytes (solo funciona en Windows) .
4 bytes guardados de la versión @hubacub.
3 bytes cambiando a Windows, usando la solución @Divcy
Acabo de registrarme en stackexchange, así que no tengo la reputación de comentar solo en @hubacub submition. No es necesario gastar 5 bytes con "como o" en la importación para guardar 1 byte para reducir "os.system" a "o.system".
fuente
J (Windows), 12 bytes
wd
es la biblioteca estándar de J para Windows.wd 'clipcopy password'
pondría el textopassword
en el portapapeles. No especificar nada borra el portapapeles.Si desea que un programa ponga su contraseña de texto sin formato en su portapapeles, puede usar lo siguiente:
fuente
'clipcopy 'wd@,]
wd
y'clipcopy'
.JavaScript
17514813913569 BytesGolfizado:
Violín
Sin golf
Obtuve ayuda de SitePoint
HTML:
JS:
fuente
Java 8 (JavaFX), 61 bytes
()->javafx.scene.input.Clipboard.getSystemClipboard().clear()
La API JavaFX para manipular el portapapeles es un poco más breve que la de AWT;)
fuente
Tcl / Tk wish shell (REPL), 5 bytes
Wish shell (REPL) permite los comandos incompletos, siempre que no haya ambigüedad, el comando completo sería:
fuente
PHP + PHP GTK 2.0 , 24 bytes
Esto supone que ya tiene cargada la extensión PHP GTK.
Referencia de documentación: http://gtk.php.net/manual/en/html/gtk/gtk.gtkclipboard.method.clear.html
fuente
<?
etiqueta de apertura ya que puede ejecutar el código sin la<?
etiqueta en la línea de comando con el-r
interruptor. Ver más información aquí: meta.codegolf.stackexchange.com/questions/7098/…