Conformément aux meilleures pratiques de sécurité , je conserve un fichier texte avec mes mots de passe sur mon disque dur. En fait, je viens de copier-coller l’un d’eux pour accéder à mon compte PPCG.
Dans un moment lucide, je décide que le mot de passe ne devrait pas rester dans le presse-papiers après son utilisation. Comme cela m’arrive souvent, je pourrais utiliser un programme pour supprimer le contenu du presse-papiers.
Défi
Ecrivez un programme ou une fonction qui supprime ou écrase tout texte contenu dans le presse-papiers, en utilisant le langage de programmation de votre choix.
Détails supplémentaires:
Si votre système possède plusieurs presse-papiers, vous pouvez écrire le programme pour n’importe lequel d’eux. La seule exigence est que l'utilisateur puisse avoir la possibilité de copier et coller du texte à l'aide de ce presse-papiers.
Si votre presse-papiers conserve un historique des entrées copiées récemment, supposons que l'entrée la plus récente.
Si votre réponse est spécifique à un système d'exploitation ou à un presse-papiers, indiquez-la dans le titre de votre message, ainsi que la langue utilisée.
Le presse-papiers est garanti pour contenir du texte lorsque votre programme est exécuté. Vous pouvez supprimer le contenu du presse-papiers ou le remplacer par quelque chose d'autre (pas nécessairement du texte). La seule exigence est qu'après avoir exécuté le programme, le collage à partir du Presse-papiers ne produira pas le texte d'origine.
Si vous choisissez d'écraser avec un texte fixe ou choisi au hasard, vous pouvez supposer que le contenu du presse-papiers précédent est différent de ce texte, de sorte que le mot de passe est effectivement supprimé. En d'autres termes, ignorez la possibilité que le texte de remplissage coïncide avec le mot de passe.
Le programme ne doit avoir aucun effet secondaire, tel que le redémarrage du système, la fermeture de programmes, l’arrêt de l’ordinateur ou le gel du système. Une fois votre programme exécuté, l'utilisateur devrait pouvoir continuer à utiliser l'ordinateur normalement, uniquement avec le mot de passe supprimé du presse-papiers. En outre, les échappatoires standard sont interdites.
Le code le plus court en octets gagne.
Réponses:
Excel, 1 frappe
Fonctionne parce qu'Excel, uniquement, a toujours une sélection. Fonctionne probablement aussi dans d’autres applications de tableur. Contrairement aux autres entrées de blagues, les réponses Excel sont en fait assez fréquentes sur PPCG.
la source
PowerShell, 3 octets
C'est un alias par défaut pour
Set-Clipboard
. Lorsqu'elle est appelée avec aucune entrée et aucun argument fourni, elle balaie le contenu actuel du presse-papiers.la source
Vim, 3 octets
Définit le contenu du presse-papiers sur une nouvelle ligne.
Par défaut, vim ouvre un tampon vide au démarrage. Maintenant, le programme
Y
lance (copie) toute la ligne (y compris une nouvelle ligne) et la stocke dans votre presse-papiers en l’affichant dans le registre"*
. Le*
peut être changé en+
pour l'autre presse-papiers.la source
Javascript (Chrome DevTools Console), 6 octets
Notez qu'il s'agit d'une fonctionnalité de la console (qui fonctionne également dans la console FF) et ne fait pas partie de la norme de langue.
la source
[\n ""\n]
)[\n ""\n ]
Document.execCommand("copy")
ou s'agit-il d'un presse-papiers interne au navigateur? J'utilise cela dans certains scripts de singe inviolable, mais trop paresseux pour le vérifierAppleScript, 20 octets
Définit le presse-papiers sur ... rien.
J'ai économisé beaucoup d'octets en supprimant le code pour m'envoyer le contenu du presse-papier;)
la source
Lot (Windows 7 et version ultérieure), 7 octets
Remarque: un message d'erreur du type "FC: ..." sera répondu, mais cela fonctionne.
"clip" est une commande pour copier la sortie d'un autre programme dans le presse-papier (disponible depuis Windows 7)
"fc" est une commande permettant de comparer deux fichiers ou plus. dans ce cas, nous ne saisissons aucun fichier. ce sera une erreur, puis "clip" définira le presse-papiers sur une chaîne vide.
à condition que vous ayez un fichier "a" dans votre répertoire courant (il peut être vide), vous pouvez faire mieux:
Edit: voir le commentaire de @Matthew Steeples pour la version courte (mais dans powershell pas un lot)
la source
sc
au lieu defc
pour éviter le message d'erreur. Ensuite, lesc
texte d'aide sera placé dans le presse-papiers. En outre, +1 pour me parler declip
.cd
. :-)x|clip
?h
est un alias (par défaut) pourget-history
, donc vous pouvez le faireh|clip
Bash sur macOS, 8 octets
:
pourrait être remplacé par presque n'importe quel autre personnage.la source
:|pbcopy
fonctionne à la fois en bash et en zsh.C (sous Windows),
6562 octetsEdit: 3 octets enregistrés grâce à @Orion.
la source
0
au lieu deNULL
?AHK , 10 octets
(Windows)
Efface le contenu du texte du presse-papiers. Si
clipboardAll
est utilisé, il efface tout.De la docs -
la source
Java 8,
127 à125 octetsGolfé:
Ungolfed:
la source
SmileBASIC 3, 10 octets
Enfin, un défi pratiquement fait pour SmileBASIC 3!
CLIPBOARD
est une commande intégrée qui définit le presse-papier de l'environnement sur la chaîne donnée. Ici, nous lui donnons une chaîne vide (la fermeture"
n'est pas nécessaire!)la source
'
!Excel VBA,
9 à8 octetsRemplace le presse-papiers avec le contenu de la
A1
cellule dans la feuille de calcul active (vide par défaut, mais peut être n'importe quelle chaîne / expression de votre choix - assurez-vous simplement que ce n'est pas votre mot de passe!).Utilise la fenêtre immédiate.
Un octet enregistré grâce à Slai
la source
[a1].Cut
Python
564840 octets (ne fonctionne que sous Linux) .8 octets enregistrés grâce à @wheatwizard.
la source
system
partiros
vous pouvezimport os as o
et appeler à lao.system
place. Vous n'avez également pas besoin d'espaces autour de votre pipe dans la commande bash.as o
partie ... (import os \n os.system("echo |xclip"
)echo
avec:
pour":|xclip"
__import__('os').system("echo|xclip")
xclip
appelxsel
sur les systèmes Linux, qui vous permettrait d'économiser un autre octet - et comme déjà mentionné, supprimez à nouveau la partie d'importation "en tant que", cela rend les choses plus longues:import os;os.system(":|xsel")
(29 octets).Google Chrome Language, 2 frappes de touche
Basé sur cette réponse du Notepad ++.
Google Chrome prend en charge le langage Javascript (qui à son tour prend en charge RegExp). Je déclare donc qu'il s'agit d'un sur-ensemble de Javascript et d'un langage qui lui est propre.
Comment ça fonctionne:
Ctrl+S
invoque le dialogue "Enregistrer la page" avec le texte "Nouvel onglet" présélectionné,Ctrl+C
le copie dans le Presse-papiers, déplaçant ainsi le contenu précédent.Sidenote:
la source
bash + xsel
87bytesExplication
-b
: Fonctionne sur la sélection du presse-papiers-c
: efface la sélectionla source
b
.Mathematica, 17 octets
Définit le presse-papier sur le nombre 0.
la source
R (Windows) 18
la source
readLines(file("clipboard", "r"))
pourrait fonctionner. Essayez de regarder dans la documentation de l'aide R sous "Fonctions de manipulation des connexions".Matlab,
19 à13 octetsDéfinissez le contenu du presse-papiers sur une figure vide.
la source
axes;print -dmeta;close
mais ça marche aussi ...close
peut sans doute être supprimé. Par "effets secondaires", je pensais à des choses qui disparaissaient, n'apparaissaient pas. En outre,print(gcf,'-dm')
fonctionne-dm
c'est comme-dmeta
, et pense que le programme devrait fonctionner « en silence », sans sauter une fenêtre :)Bash,
111087 octets2 octets enregistrés grâce à @seshoumara pour avoir utilisé
ls
au lieu deecho
Merci à hexafraction, à isaacg et à riker d’avoir suggéré plusieurs
Le presse-papiers est défini sur le résultat de
w
. Cela ne fonctionne que sur les systèmes X11. Par exemple, sur macOS, il est possible d'accéder à ce Presse-papiers à l'aide d'une application X telle que XQuartz.Ancienne réponse uniquement pour macOS (
11 à9 octets):Ceci définit le contenu du presse-papiers sur une nouvelle ligne.
la source
ls|xclip
vousls /usr/bin | grep "^.\{1,3\}$"
chercherais une commande plus courte: P)w|xclip
pour un de moins. Vide la liste des utilisateurs connectés dans le presse-papiers.:|xclip
. Efface réellement le presse-papiers.xclip
sans tuyaux.Applescript, 23 octets
la source
Python + tkinter, 43 octets
Python 3:
Python 2:
la source
python-tk
) du "noyau python".__import__("tkinter")....
, c'est un octet de plus dans ce cas.C #, 30 octets
Merci à Nat , JMD et BgrWorker pour leurs suggestions!
C # sans WPF, 36 octets
Fonction intégrée qui vide le presse-papiers.
Programme complet avec cas de test:
la source
Clipboard.Clear()
est déjà une fonction, de sorte que le lambda peut être supprimé.System.Windows.Clipboard.Clear();
Mais lprun pourrait être un moyen plus léger d’exécuter cette réponse que VS ou même VS Code..Forms
, il n'a pas été compilé sous Linux et je n'ai pas de machine Windows pour le moment.Haskell, 34 octets
Juste une fonction de bibliothèque ennuyeuse. Il y a aussi
clearClipboard
pour le même nombre d'octets.la source
Bloc-notes ++, 3 frappes
Insère la lettre a, la sélectionne, la copie sur le clavier.
Notepad ++ est un langage valide, il supporte regex et est donc un sur-ensemble de regex, et nous considérons regex comme un langage valide.
la source
consider regex to be a valid language
Références ? Apparemment, RegExp n’est pas complet à lui seul.It doesn't have to be Turing Complete to be a valid language
Par cette mesure, on peut dire que presque n'importe quoi est un "langage". C'est-à-dire que XML ou HTML ont aussi une syntaxe (et même s'appellent des langages, contrairement à RegExp), néanmoins je ne pense pas qu'ils soient acceptables. Pouvez-vous donner un exemple de réponse pure-Regexp, qui a été votée par la communauté? De plus, je pense que Notepad ++, ne "supporte pas vraiment regexp" dans le sens où il peut l'invoquer par programme, et ouvrir la boîte "Rechercher et remplacer" de l'interface utilisateur pour y taper un RegExp n'est pas un "code de programme".<c-H>
, et utiliser<tab>
pour naviguer dans l'interface utilisateur et interagir avec tous les champs pertinents. Notez également que les expressions rationnelles peuvent déterminer la primauté de et ajouter des nombres. (Les deux en unary, qui est la représentation numérique par défaut pour les expressions rationnelles)Python 33 octets (ne fonctionne que sur Windows) .
4 octets enregistrés à partir de la version @hubacub.
3 octets passant aux fenêtres, en utilisant la solution @Divcy
Je viens juste de m'inscrire à stackexchange, je n'ai donc pas la réputation de simplement commenter @hubacub submition. Il n'est pas nécessaire d'utiliser 5 octets avec "en tant que" dans l'importation pour enregistrer 1 octet afin de réduire "os.system" à "o.system".
la source
J (Windows), 12 octets
wd
est la bibliothèque standard de J pour Windows.wd 'clipcopy password'
mettrait le textepassword
dans le presse-papiers. Ne rien spécifier efface le presse-papiers.Si vous souhaitez qu'un programme mette votre mot de passe en texte brut dans votre presse-papiers, vous pouvez utiliser les éléments suivants:
la source
'clipcopy 'wd@,]
wd
et'clipcopy'
.JavaScript
17514813913569 OctetsGolfé:
Violon
Ungolfed
A obtenu de l'aide de SitePoint
HTML:
JS:
la source
Java 8 (JavaFX), 61 octets
()->javafx.scene.input.Clipboard.getSystemClipboard().clear()
L'API JavaFX pour manipuler le presse-papiers est un peu plus concise que celle d'AWT;)
la source
Tcl / Tk Wish Shell (REPL), 5 octets
Wish shell (REPL) permet les commandes incomplètes, tant qu'il n'y a pas d'ambiguïté, la commande complète serait:
la source
PHP + PHP GTK 2.0 , 24 octets
Cela suppose que l'extension PHP GTK soit déjà chargée.
Référence de la documentation: http://gtk.php.net/manual/en/html/gtk/gtk.gtkclipboard.method.clear.html
la source
<?
balise d' ouverture car vous pouvez exécuter le code sans la<?
balise dans la ligne de commande avec le-r
commutateur. Voir plus d'informations ici: meta.codegolf.stackexchange.com/questions/7098/…