ฉันคัดลอกรหัสผ่านของฉันไปที่คลิปบอร์ด! คุณสามารถลบมันได้หรือไม่


96

ต่อไปนี้ที่ดีที่สุดของ การรักษาความปลอดภัย การปฏิบัติที่ผมเก็บไฟล์ข้อความธรรมดาที่มีรหัสผ่านของฉันบนฮาร์ดไดรฟ์ของฉัน อันที่จริงฉันเพิ่งคัดลอกและวางหนึ่งในนั้นเพื่อเข้าถึงบัญชี PPCG ของฉัน

ในช่วงเวลาที่ชัดเจนฉันตัดสินใจว่ารหัสผ่านไม่ควรค้างอยู่ในคลิปบอร์ดหลังจากการใช้งาน เนื่องจากสิ่งนี้เกิดขึ้นกับฉันบ่อยครั้งฉันจึงสามารถใช้โปรแกรมเพื่อลบเนื้อหาของคลิปบอร์ด

ท้าทาย

เขียนโปรแกรมหรือฟังก์ชั่นที่ลบหรือเขียนทับข้อความใด ๆ ที่มีอยู่ในคลิปบอร์ดโดยใช้ภาษาการเขียนโปรแกรมที่คุณเลือก

รายละเอียดเพิ่มเติม:

  • หากระบบของคุณมีหลายคลิปบอร์ดคุณสามารถเขียนโปรแกรมสำหรับหนึ่งในนั้นได้ ข้อกำหนดเพียงอย่างเดียวคือผู้ใช้ต้องสามารถคัดลอกและวางข้อความโดยใช้คลิปบอร์ดนั้นได้

  • หากคลิปบอร์ดของคุณเก็บประวัติของรายการที่คัดลอกล่าสุดให้ถือว่ารายการล่าสุด

  • หากคำตอบของคุณเฉพาะกับระบบปฏิบัติการหรือคลิปบอร์ดให้ระบุคำตอบนั้นในชื่อโพสต์ของคุณพร้อมกับภาษาที่ใช้

  • คลิปบอร์ดรับประกันว่าจะมีข้อความเมื่อโปรแกรมของคุณทำงาน คุณสามารถลบเนื้อหาจากคลิปบอร์ดหรือเขียนทับด้วยสิ่งอื่น (ไม่จำเป็นต้องเป็นข้อความ) ข้อกำหนดเพียงอย่างเดียวคือหลังจากเรียกใช้โปรแกรมแล้วการวางจากคลิปบอร์ดจะไม่สร้างข้อความต้นฉบับ

  • หากคุณเลือกที่จะเขียนทับด้วยข้อความคงที่หรือเลือกสุ่มคุณสามารถสันนิษฐานได้ว่าเนื้อหาคลิปบอร์ดก่อนหน้านั้นแตกต่างจากข้อความนั้นดังนั้นรหัสผ่านจะถูกลบอย่างมีประสิทธิภาพ กล่าวอีกนัยหนึ่งไม่สนใจความเป็นไปได้ที่ข้อความตัวเติมเกิดขึ้นพร้อมกับรหัสผ่าน

  • โปรแกรมไม่ควรมีผลข้างเคียงใด ๆ เช่นการรีสตาร์ทระบบปิดโปรแกรมปิดคอมพิวเตอร์หรือแช่แข็ง หลังจากที่โปรแกรมของคุณทำงานผู้ใช้ควรจะสามารถใช้งานคอมพิวเตอร์ได้ตามปกติเฉพาะเมื่อมีการลบรหัสผ่านออกจากคลิปบอร์ด นอกจากนี้ห้ามมีช่องโหว่มาตรฐาน

รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ


เกิดอะไรขึ้นถ้าคลิปบอร์ดมีจำนวนรายการที่ไม่ได้ระบุ
LarsW

20
ในหมายเหตุที่จริงจังมากขึ้น: ใช้สิ่งที่ต้องการเช่นKeepassเพื่อทำเพื่อคุณ
ข้อบกพร่อง

17
msgstr "ไม่สนใจความเป็นไปได้ที่ข้อความของฟิลเลอร์ตรงกับรหัสผ่าน" วิธีแก้ปัญหา: ``, 0 ไบต์ เขียนทับรหัสผ่านด้วยตัวเอง
แยกผลไม้

2
@ Challenger5 แต่นั่นเป็นเพียงถ้าคุณเลือกที่จะเขียนทับด้วยข้อความที่เลือกคงที่หรือสุ่ม
Luis Mendo

11
ส่วนที่แย่ที่สุดเกี่ยวกับคำถามนี้คือฉันสามารถเกี่ยวข้องกับเรื่องราวอินโทรได้อย่างสมบูรณ์แม้จะรู้ว่ามันเป็นเรื่องเหน็บแนม ... งั้นเหรอฮะ? ควรมองว่า ...
Nat

คำตอบ:


14

Excel, 1 การกดแป้น

Ctrl-C

ทำงานได้เนื่องจาก Excel มีตัวเลือกอยู่เสมอ อาจใช้ได้กับแอปพลิเคชันสเปรดชีตอื่นด้วย ตรงข้ามกับรายการตลก ๆ อื่น ๆ คำตอบของ Excel นั้นค่อนข้างบ่อยใน PPCG


2
การกดแป้น 2 ครั้งนี้ไม่ใช่หรือ "การกดแป้นพิมพ์เป็นการกดปุ่มครั้งเดียวบนแป้นพิมพ์การกดปุ่มแต่ละครั้งเป็นการกดแป้น" computerhope.com/jargon/k/keystroke.htm
Martijn

@ มาร์ตินอาจเป็นไปได้ ฉันเพียงแค่คัดลอกมาจากที่นี่
Adám

ฉันไม่แน่ใจว่ามันถูกต้องที่จะได้คะแนนจากการกดแป้น นอกจากนี้เนื่องจากคุณพูดว่าตรงกันข้ามกับรายการตลกอื่น ๆฉันตีความว่าเมื่อคุณยอมรับว่านี่ไม่ใช่คำตอบที่ถูกต้องจริง ดังนั้นฉันจะไม่ยอมรับมันแม้ว่ามันจะสั้นที่สุดก็ตาม หากคุณสามารถชี้ให้ฉันไปที่เมตาโพสต์ที่เกี่ยวข้องซึ่งกำหนดความถูกต้องของการกดแป้นเป็นวิธีการให้คะแนนฉันยินดีที่จะยอมรับข้อเสนอนี้
Luis Mendo

@LuisMendo การวิเคราะห์ในระหว่างบรรทัดของคุณถูกต้อง แต่ตอนนี้ฉันใช้เวลาวิจัยเกี่ยวกับ Meta: codegolf.meta.stackexchange.com/a/4817/43319จริง ๆ แล้วดูเหมือนจะบ่งบอกว่ามันเป็นที่ยอมรับซึ่งตรงข้ามกับ "Windows" ซึ่งไม่ใช่ตัวแก้ไข
Ad

@ Adámฉันเข้าใจว่า meta-post หมายถึงหมวดท้าทาย "editor golf" สมมุติไม่ใช่เพื่อใช้จำนวนการกดแป้นพิมพ์เป็นวิธีการให้คะแนนสำหรับความท้าทาย "code golf" ฉันได้ส่ง Ping ไปที่ Doorknob และ Dennis เพื่อรับทราบความคิดเห็นของพวกเขา
Luis Mendo เมื่อ

123

PowerShell ขนาด 3 ไบต์

scb

Set-Clipboardนั่นเป็นนามแฝงเริ่มต้นสำหรับ เมื่อถูกเรียกโดยไม่มีสิ่งใดถูกส่งเข้าไปและไม่มีข้อโต้แย้งใด ๆ มันจะส่งเนื้อหาของคลิปบอร์ดปัจจุบันออกไป


23
คำตอบที่สั้นที่สุดซึ่งล้างคลิปบอร์ดแทนการตั้งค่าเป็นบรรทัดใหม่หรือสิ่งที่ไม่ว่างเปล่า
Luna

1
นี่เป็นสิ่งที่ดีมาก
beppe9000

72

เป็นกลุ่ม 3 ไบต์

"*Y

ตั้งค่าเนื้อหาคลิปบอร์ดเป็นบรรทัดใหม่

โดยค่าเริ่มต้น vim จะเปิดบัฟเฟอร์ว่างเมื่อเริ่มต้น ตอนนี้โปรแกรมYanks (สำเนา) สายทั้งหมด (รวมถึงการขึ้นบรรทัดใหม่) "*และเก็บไว้ในคลิปบอร์ดของคุณโดยการลากมันข้อความลงทะเบียน *สามารถเปลี่ยนไปเป็น+สำหรับคลิปบอร์ดอื่น ๆ


6
Aaargh ฉันเพิ่งจะโพสต์คำตอบนี้! +1 เครื่องมือที่เหมาะสมสำหรับงาน :)
DJMcMayhem

หากมีการติดตั้งเสียงเรียกเข้ามากกว่า powerhell ควรเป็นคำตอบที่ได้รับการยอมรับบนพื้นฐานของ "Universality";)
JPCF

1
@JPCF และมีแอปพลิเคชั่น 'ของจริง' จำนวนมากที่เขียนใน C # มากกว่าที่มี coffeescript ฯลฯ มันไม่ได้ทำให้ดีกว่าโปรแกรมอื่น ๆ เมื่อพูดถึง code-golf
Baldrickk

1
ฉันสงสัยว่ามีการติดตั้งเป็นกลุ่มมากกว่า PowerShell เนื่องจากมีการติดตั้งตามค่าเริ่มต้นใน Windows 8 ขึ้นไป
Robert Fraser

56

Javascript (Chrome DevTools Console) ขนาด 6 ไบต์

copy``

โปรดทราบว่านี่เป็นคุณสมบัติของคอนโซล (ซึ่งทำงานในคอนโซล FF) และไม่ได้เป็นส่วนหนึ่งของมาตรฐานภาษา


3
อืมฉันไม่รู้ JS มีฟังก์ชั่นนี้ ทำงานใน Firefox ด้วย (เนื้อหาของคลิปบอร์ดกลายเป็น[\n ""\n])
ETHproductions

1
สามารถยืนยันสิ่งนี้ได้เช่นกันบน Chrome คลิปบอร์ดเปลี่ยนเป็น:[\n ""\n ]
haykam

32
@ETHproductions จริงฟังก์ชั่นนี้ไม่ได้จริงๆอยู่ใน JS นี่คือคอนโซลในตัว (ซึ่งไม่ได้เป็นคำตอบที่ไม่ถูกต้อง แต่มันควรจะอธิบายอย่างชัดเจนมากขึ้น)
Arnauld

มันไม่มีอยู่จริงDocument.execCommand("copy")หรือว่าเป็นคลิปบอร์ดภายในกับเบราว์เซอร์? ฉันใช้มันในสคริปต์ลิงงัดแงะ แต่ขี้เกียจเกินไปที่จะตรวจสอบ
pinkfloydx33

1
ตกลง ... นี่คือตอนนี้คำตอบที่ได้รับการโหวตสูงสุดของฉัน
SuperJedi224

55

AppleScript ขนาด 20 ไบต์

set the clipboard to

ตั้งค่าคลิปบอร์ดเป็น ... ไม่มีอะไร


ฉันบันทึกจำนวนมากได้โดยการลบรหัสเพื่อส่งเนื้อหาของคลิปบอร์ด;)


32

รุ่นที่ (Windows 7 และรุ่นที่สูงกว่า), 7 ไบต์

fc|clip

หมายเหตุ: มันจะตอบสนองข้อผิดพลาดเช่น "FC: ... " แต่มันใช้งานได้

"clip" เป็นคำสั่งให้คัดลอกผลลัพธ์ของโปรแกรมอื่นไปยังคลิปบอร์ด (มีให้ตั้งแต่ windows 7)

"fc" เป็นคำสั่งเพื่อเปรียบเทียบไฟล์สองไฟล์ขึ้นไป ในกรณีนี้เราไม่ได้ใส่ไฟล์ใด ๆ มันจะเกิดข้อผิดพลาดจากนั้น "คลิป" จะตั้งค่าคลิปบอร์ดเป็นสตริงว่าง

หากคุณมีไฟล์ "a" ในไดเรกทอรีปัจจุบันของคุณ (สามารถว่างเปล่าได้) คุณสามารถทำได้ดีกว่า:

clip<a

แก้ไข: ดูความคิดเห็น @Matthew Steeples สำหรับรุ่นที่สั้นกว่า (แต่ใน PowerShell ไม่ใช่แบทช์)


2
คุณสามารถใช้scแทนfcเพื่อหลีกเลี่ยงข้อความแสดงข้อผิดพลาด จากนั้นscข้อความช่วยเหลือจะถูกตั้งค่าไว้บนคลิปบอร์ด นอกจากนี้ +1 clipสำหรับบอกฉันเกี่ยวกับ
Neil

2
cdหนึ่งของฉันที่ใช้ :-)
Hand-E-Food

ฉันเดาว่าคลิปจะไม่รับเอาต์พุตของคำสั่งที่ไม่ใช่คำสั่งใช่หรือไม่ เพื่อให้คุณไม่เพียงแค่เรียกใช้x|clip?
djsmiley2k

@ djsmiley2k ใช่มันจะรับเอาท์พุทจากคำสั่งที่ถูกต้องเท่านั้น
Divcy

4
คุณสามารถทำให้ตัวละครตัวอื่นหลุดออกไปได้ hเป็นนามแฝง (โดยค่าเริ่มต้น) สำหรับget-historyคุณสามารถทำได้h|clip
Matthew Steeples

32

ทุบตีบน macOS ขนาด 8 ไบต์

:|pbcopy

: สามารถถูกแทนที่ด้วยอักขระอื่นเกือบทั้งหมด


6
:|pbcopyทำงานในทุบตีเช่นเดียวกับ zsh
Digital Trauma

@Nax มันแก้ไขแล้ว
cat

29

C (บน Windows), 65 62 ไบต์

#include<windows.h>
main(){OpenClipboard(0);EmptyClipboard();}

แก้ไข: บันทึกแล้ว 3 ไบต์ขอบคุณ @Orion


24
เนื่องจากเป็น C คุณไม่สามารถใช้0แทนได้NULLหรือ
Orion

23

AHKขนาด 10 ไบต์(Windows)

clipboard=

ล้างเนื้อหาข้อความของคลิปบอร์ด หากclipboardAllมีการใช้งานจะเป็นการล้างทุกอย่าง

จากเอกสาร -

คลิปบอร์ดเป็นตัวแปรในตัวที่สะท้อนถึงเนื้อหาปัจจุบันของคลิปบอร์ด Windows หากเนื้อหาเหล่านั้นสามารถแสดงเป็นข้อความได้ ในทางตรงกันข้าม ClipboardAll มีทุกอย่างในคลิปบอร์ดเช่นรูปภาพและการจัดรูปแบบ


22

Java 8, 127 125 ไบต์

แข็งแรงเล่นกอล์ฟ:

()->java.awt.Toolkit.getDefaultToolkit().getSystemClipboard().setContents(new java.awt.datatransfer.StringSelection(""),null)

Ungolfed:

public class ICopiedMyPasswordToTheClipboardCanYouDeleteIt {

  public static void main(String[] args) {
    f(() -> java.awt.Toolkit.getDefaultToolkit().getSystemClipboard().setContents(
      new java.awt.datatransfer.StringSelection(""), null));
  }

  private static void f(Runnable x) {
    x.run();
  }
}

2
คุณสามารถใช้สตริงว่างแทนโมฆะได้หรือไม่ บันทึก 2 ไบต์
กระตุ้น

1
@ พูดว่าใช่ ฉันมุ่งเน้นไปที่การ "ลบ" เนื้อหาของคลิปบอร์ดเช่นเดียวกับการล้างออกอย่างแท้จริง การเขียนทับก็ดีเช่นกัน

17

SmileBASIC 3, 10 ไบต์

สุดท้ายความท้าทายในทางปฏิบัติทำสำหรับ SmileBASIC 3!

CLIPBOARD"

CLIPBOARDเป็น builtin ที่ตั้งค่าคลิปบอร์ดข้อความของสภาพแวดล้อมเป็นสตริงที่กำหนด ที่นี่เราให้สตริงว่าง ( "ไม่จำเป็นต้องปิด!)


ขอบคุณสำหรับคำอธิบายเนื่องจากมันดูเหมือนสอง'!
msanford

17

Excel VBA ขนาด9 8 ไบต์

[A1].Cut

เขียนทับคลิปบอร์ดด้วยเนื้อหาของA1เซลล์ในเวิร์กชีตที่ใช้งานอยู่ (ว่างเปล่าโดยค่าเริ่มต้น แต่อาจเป็นสตริง / นิพจน์ที่คุณเลือก - เพียงให้แน่ใจว่าไม่ใช่รหัสผ่านของคุณ!)

ใช้ประโยชน์จากหน้าต่างในทันที

บันทึกหนึ่งไบต์ต้องขอบคุณSlai


1
ดี! คุณสามารถบันทึกไบต์ด้วย[a1].Cut
Slai

16

งูหลาม56 48 40 ไบต์ (เฉพาะทำงานบนลินุกซ์)

บันทึก 8 ไบต์ด้วย @wheatwizard

import os as o
o.system("echo|xclip")

1
ยินดีต้อนรับสู่เว็บไซต์! ฉันสังเกตเห็นสนามกอล์ฟที่คุณสามารถทำได้ แทนการนำเข้าsystemจากที่osคุณสามารถimport os as oและโทรo.systemแทน คุณไม่ต้องการช่องว่างรอบ ๆ ไพพ์ของคุณในคำสั่ง bash
Sriotchilism O'Zaic

35
มันสั้นกว่า 6 ไบต์โดยไม่มีas oส่วน ... ( import os \n os.system("echo |xclip")
R

4
คุณสามารถแทนที่echo ด้วย:สำหรับ":|xclip"
R for

22
หรือเพียงบรรทัดเดียวที่ 37 ไบต์:__import__('os').system("echo|xclip")
Daniel

4
นอกจากนี้ยังมีอีกทางเลือกหนึ่งสำหรับการxclipเรียกใช้xselบนระบบ Linux ซึ่งจะช่วยให้คุณประหยัดอีกไบต์ - และดังที่กล่าวไว้แล้วลบส่วนการนำเข้า "as o" อีกครั้งมันทำให้สิ่งต่าง ๆ ยาวขึ้น: import os;os.system(":|xsel")(29 ไบต์)
Byte Commander

14

ภาษา Google Chrome, 2 การกดแป้น

<c-S><c-C>

บนพื้นฐานนี้คำตอบ Notepad ++

Google Chrome รองรับ Javascript (ซึ่งในทางกลับกันรองรับ RegExp) ดังนั้นฉันจึงขออ้างว่าเป็น Javascript และภาษาของมันเอง

มันทำงานอย่างไร:

Ctrl+Sจะเรียกใช้กล่องโต้ตอบ "บันทึกหน้าเว็บ" ด้วยข้อความ "แท็บใหม่" ที่เลือกไว้ล่วงหน้าแล้วCtrl+Cจะคัดลอกไปยังคลิปบอร์ดแทนที่เนื้อหาก่อนหน้า

sidenote:

คุณสามารถเข้าถึงฟังก์ชัน Javascript ใน Chrome ผ่านjavascript:URL และคอนโซลเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ (เรียกใช้ด้วย Ctrl + Shift + J)


Gah ฉันต้องการใช้ Google Chrome แต่ฉันไม่ได้ตระหนักว่าฉันสามารถโต้แย้งได้ว่าเป็น superset ของ JS ... เล่นได้ดี
Pavel

8
จากนั้นฉันเดาว่าการกดปุ่มพิมพ์หน้าจอ (1 การกดแป้นพิมพ์) เป็นวิธีแก้ปัญหาในภาษา Windows ซึ่งเป็นชุดของ Google Chrome Lang
Memet Olsen

@MemetOlsen ใช่แน่นอนโปรดโพสต์ได้เลย เรามี "Notepad ++ ภาษา" และ "Google Chrome Language" อยู่แล้วดังนั้น "ภาษาของ Windows" จึงดูเหมือนเป็นขั้นตอนต่อไปที่จะทำ! :)
Zeppelin มี. ค.

1
@MemetOlsen มันไม่ใช่ชุดของ Google Chrome Lang เนื่องจาก Chrome เป็น "ไลบรารี่" ภายนอกที่คุณต้องดาวน์โหลด มันเป็นชุดของ IE lang ซึ่งเป็นชุดของ JS
Pavel

ขอบคุณพวกฉันได้เพิ่มข้อเสนอแนะของฉันเป็นคำตอบแรกของฉันในเว็บไซต์ SE นี้
Memet Olsen

11

bash + xsel 8 7bytes

xsel -c

คำอธิบาย

-b: ทำงานกับการเลือกคลิปบอร์ด

-c: ล้างส่วนที่เลือก


1
+1 แต่นี่ไม่ใช่ coreutils
pacholik

@pacholik ใช่คุณต้องติดตั้งแพ็กเกจเนื่องจากฉันใช้งานบน terminal ฉันพูดถึงมันเป็น coreutils
Abel Tom

1
บน Debian, xsel อยู่ในแพ็คเกจ xsel ไม่ใช่ส่วนหนึ่งของ coreutils
Brian Minton

เนื่องจากเราได้รับอนุญาตให้ใช้คลิปบอร์ดใด ๆ bที่เราต้องการผมคิดว่าคุณสามารถวาง
เดนนิส

@ Digital Trauma ยุติธรรมเพียงพอ
Abel Tom


10

R (Windows) 18

writeClipboard("")

คุณรู้จัก Linux หรือไม่

ฉันคิดว่าสิ่งที่ชอบreadLines(file("clipboard", "r")) อาจทำงานได้ ลองค้นหาเอกสารความช่วยเหลือ R ภายใต้ "ฟังก์ชั่นเพื่อจัดการการเชื่อมต่อ"
ดิ้นรน

8

Matlab, 19 13 ไบต์

gcf;print -dm

ตั้งค่าเนื้อหาของคลิปบอร์ดเป็นรูปที่ว่างเปล่า


มันคือ 21 UTF-8 bytes
CAD97

@LuisMendo นี่ยาวกว่า (23): axes;print -dmeta;closeแต่ใช้งานได้ ...
EBH

@EBH นั่นcloseสามารถลบได้ โดย "ผลข้างเคียง" ฉันคิดว่าสิ่งต่าง ๆ จะหายไปไม่ปรากฏขึ้น นอกจากนี้ยังใช้print(gcf,'-dm')งานได้
Luis Mendo

@LuisMendo ดีฉันไม่ทราบว่า-dmเป็นเหมือน-dmetaและคิดว่าโปรแกรมควรจะทำงาน 'เงียบ' โดยไม่ต้อง popping หน้าต่างใด ๆ :)
EBH

2
@ LuisMendo แน่นอนมันเป็นครั้งแรกของฉัน ตอนนี้ข้อเสนอแนะก็ยิ่งสั้นลง
EBH

8

Bash, 11 10 8 7 ไบต์

บันทึก 2 ไบต์ด้วย @seshoumara สำหรับการใช้งานlsแทนecho

ขอบคุณ hexafraction, isaacg และ Riker สำหรับการแนะนำ 7-byters หลาย ๆ

w|xclip

wคลิปบอร์ดถูกตั้งค่าเป็นผลมาจากการ ใช้งานได้กับระบบที่ใช้ X11 เท่านั้น ตัวอย่างเช่นบน macOS คลิปบอร์ดนี้สามารถเข้าถึงได้โดยใช้แอปพลิเคชัน X ที่ใช้เช่น XQuartz


คำตอบเก่า ๆ สำหรับ macOS เท่านั้น ( 11 9 ไบต์):

ls|pbcopy

ชุดเนื้อหาเนื้อหาคลิปบอร์ดเป็นบรรทัดใหม่


แล้วไงls|xclipล่ะ
seshoumara

@seshoumara ขอบคุณ! (และคิดว่าฉันls /usr/bin | grep "^.\{1,3\}$"ต้องการค้นหาคำสั่งที่สั้นกว่า: P)
Cows นักต้มตุ๋น

3
หรือw|xclipน้อยกว่าหนึ่ง ดัมพ์รายการผู้ใช้ที่ล็อกอินเข้าสู่คลิปบอร์ด
ζ--

4
:|xclipหรือ ล้างคลิปบอร์ดออกจริง ๆ
isaacg

1
อืมทำงานกับเครื่องของฉัน และเนื่องจากการส่งอาจคาดว่าจะมีอินพุตว่างดังนั้นจะxclipไม่มีท่อ
เดนนิส


7

Python + tkinter, 43 ไบต์

Python 3:

from tkinter import*;Tk().clipboard_clear()

Python 2:

from Tkinter import*;Tk().clipboard_clear()

tkinter รวมอยู่ใน python distro หรือไม่
Cruncher

@Cruncher มันอยู่ใน Python 3 ของฉัน
DLosc

@ Cruncher ใช่มันเป็นส่วนหนึ่งของ stdlib แม้ว่าฉันเชื่อว่า debian แพ็คเกจในแพ็คเกจแยกต่างหาก ( python-tk) จาก "core python"
Bakuriu

ลองดูที่ความคิดเห็นของ Dopappด้วยวิธีที่สั้นกว่า
jpaugh

@jpaugh หากคุณอ้างถึงการเปลี่ยนสไตล์การนำเข้า__import__("tkinter")....นี่คือ 1 ไบต์นานขึ้นในกรณีนี้
Trelzevir

7

C #, 30 ไบต์

ขอบคุณNat , JMDและBgrWorkerสำหรับคำแนะนำของพวกเขา!

System.Windows.Clipboard.Clear

C # ไม่มี WPF, 36 ไบต์

System.Windows.Forms.Clipboard.Clear

ฟังก์ชั่นในตัวซึ่งทำให้คลิปบอร์ดว่างเปล่า

โปรแกรมเต็มรูปแบบพร้อมกรณีทดสอบ:

using System;
using System.Windows.Forms;

class ClearClipboard
{
    static void Main()
    {
        Action f =
        ()=>System.Windows.Forms.Clipboard.Clear();

        // test case:
        Clipboard.SetText("SomePassword!");
        Console.WriteLine("In clipboard initially: " + Clipboard.GetText());
        f();
        Console.WriteLine("In clipboard now: " + Clipboard.GetText());
    }
}


4
นอกจากนี้ยังClipboard.Clear()มีฟังก์ชั่นอยู่แล้วดังนั้นแลมบ์ดาสามารถลดลงได้
แน็ต

1
ฉันจะไม่รบกวนการเพิ่มคำตอบสำหรับ LINQPad เนื่องจากคำตอบนี้จะทำงานในนั้น System.Windows.Clipboard.Clear();แต่ lprun อาจเป็นวิธีที่มีน้ำหนักเบากว่าในการรันคำตอบนี้มากกว่า VS หรือ VS Code
JMD

@Nat เมื่อไม่ได้ใช้.Formsงานมันไม่ได้รวบรวมใน Linux และฉันไม่มีเครื่อง Windows ในขณะนี้
adrianmp

2
@adrianmp คลาสนั้นมีอยู่ใน PresentationCore.dll เท่านั้นการอ้างอิงที่เพิ่มโดยค่าเริ่มต้นในโครงการประเภท WPF ฉันไม่ทราบว่า dll นั้นรวมอยู่ใน Mono / .NET Core
BgrWorker

6

Haskell, 34 ไบต์

import System.Hclip
setClipboard""

ฟังก์ชั่นห้องสมุดที่น่าเบื่อ นอกจากนี้ยังclearClipboardมีจำนวนไบต์เดียวกัน


6

Notepad ++ 3 การกดแป้น

a<c-A><c-C>

แทรกตัวอักษร a เลือกคัดลอกไปยังคีย์บอร์ด

Notepad ++ เป็นภาษาที่ถูกต้องรองรับ regex และดังนั้นจึงเป็น superset ของ regex และเราถือว่า regex เป็นภาษาที่ถูกต้อง


consider regex to be a valid languageการอ้างอิง? เห็นได้ชัดว่า RegExp ไม่ได้รับการทำให้สมบูรณ์ด้วยตัวเอง
เรือเหาะ

2
@zeppelin ไม่ต้องใช้ Turing Complete เพื่อเป็นภาษาที่ถูกต้อง
Pavel

It doesn't have to be Turing Complete to be a valid languageโดยวิธีการนี้เราสามารถอ้างสิทธิ์ได้เกือบทุกอย่างว่าเป็น "ภาษา" Ie XML หรือ HTML มีไวยากรณ์เช่นกัน (และแม้แต่เรียกตัวเองว่าภาษาซึ่งแตกต่างจาก RegExp) อย่างไรก็ตามฉันไม่คิดว่าพวกเขาจะยอมรับได้ คุณสามารถให้ตัวอย่างของคำตอบบริสุทธิ์ - Regexp ซึ่งได้รับการ upvoted โดยชุมชนหรือไม่ ยิ่งไปกว่านั้นฉันเชื่อว่า Notepad ++ ไม่ "สนับสนุน regexp" ในแง่ที่ว่ามันสามารถเรียกใช้โดยทางโปรแกรมและเปิดกล่อง "ค้นหาและแทนที่" UI เพื่อพิมพ์ RegExp ที่นั่นไม่ใช่ "รหัสโปรแกรม" โดยการวัดใด ๆ
เรือเหาะ

1
@zeppelin meta.codegolf.stackexchange.com/a/4817/60042 <- โพสต์เมตาที่เกี่ยวข้อง โปรดทราบว่าคุณสามารถเข้าถึงการค้นหาและแทนที่ด้วย N ++ ด้วย<c-H>และใช้<tab>เพื่อนำทางผ่าน UI และโต้ตอบกับฟิลด์ที่เกี่ยวข้องทั้งหมด นอกจากนี้โปรดทราบว่า regex สามารถกำหนดอันดับของและเพิ่มตัวเลขได้ (ทั้งคู่อยู่ในระบบเดียวกันซึ่งเป็นตัวเลขเริ่มต้นสำหรับ regex)
Pavel

เมตาที่โพสต์ในคำถามหมายถึงบรรณาธิการชั้น Vim และ Emacs ซึ่งเป็นโปรแกรมอย่างมากไม่ Notepad และใช่ฉันเคยเห็นผู้คนใช้ RegExp สำหรับการทดสอบขั้นต้นในเว็บไซต์นี้ แต่นั่นเป็นเพียงมุมตลกและไม่ใช่หลักฐานที่แท้จริงของ RegExp ที่เป็นภาษา ดังนั้นโปรดให้ข้อมูลอ้างอิงกับคำตอบ "pure-Regexp" ที่ upvoted ใด ๆ เพื่อพิสูจน์จุดของคุณ
zeppelin

6

งูหลาม 33 ไบต์ (เฉพาะทำงานบน Windows)

บันทึก 4 ไบต์จากเวอร์ชัน @hubacub

3 ไบต์สลับเป็น windows โดยใช้โซลูชัน @Divcy

import os
os.system("fc|clip")

เพิ่งลงทะเบียนใน stackexchange ดังนั้นฉันไม่มีชื่อเสียงที่จะแสดงความคิดเห็นกับ @hubacub ที่ส่งมา ไม่จำเป็นต้องใช้จ่าย 5 ไบต์ด้วย "as o" ในการนำเข้าเพื่อบันทึก 1 ไบต์เพื่อลด "os.system" เป็น "o.system"


ยินดีต้อนรับสู่เว็บไซต์!
Luis Mendo เมื่อ

6

J (Windows) ขนาด 12 ไบต์

wd'clipcopy'

wdเป็นไลบรารีมาตรฐานของ J สำหรับ Windows wd 'clipcopy password'จะใส่ข้อความpasswordลงในคลิปบอร์ด การระบุสิ่งใดไม่ลบล้างคลิปบอร์ด

หากคุณต้องการให้โปรแกรมใส่รหัสผ่านแบบธรรมดาลงในคลิปบอร์ดคุณสามารถใช้สิ่งต่อไปนี้:

pass =. 'abc123'
wd 'clipcopy ' , pass

นี่ไม่ใช่ฟังก์ชั่นหรือโปรแกรมเติม แต่เป็นข้อมูลโค้ด คุณต้องทำให้เป็นคำกริยาเพื่อให้ถูกต้อง คุณสามารถทำสิ่งที่ต้องการ'clipcopy 'wd@,]
Conor O'Brien

คุณหมายถึง "นี่" อันใด โค้ดทั้งสองเป็นไฟล์. ji ที่สามารถเรียกใช้งานได้
Dane

ฉันอาจเข้าใจผิดง่าย ๆ ขอโทษด้วยนะฮ่าฮ่า ทั้งนี้คุณสามารถเอาพื้นที่ในระหว่างและwd 'clipcopy'
Conor O'Brien

ขอบคุณ! โกนออกเป็นไบต์ ฉันคุ้นเคยกับการเว้นวรรคเพื่อช่วยฉันอ่าน J ว่าฉันไม่ได้คิดถึงมัน
Dane

5

JavaScript 175 148 139 135 69 ไบต์

แข็งแรงเล่นกอล์ฟ:

<input value="c"onclick="this.select();document.execCommand('copy')">

ซอ

Ungolfed

รับความช่วยเหลือจากSitePoint

HTML:

<input style="display: none;" id="Empty" value="x">
<input id="clipclear" type="button" value="Clear The Clipboard">

JS:

function clearclip(){
empty=document.getElementById("Empty");
empty.style.display="block";
empty.select();
        document.execCommand('copy');
empty.style.display="none";
}      
document.getElementById("clipclear").addEventListener("click", clearclip, false);


ทดสอบใน FF และ Chrome
TecBrat

1
อย่าโพสต์ไว้จนกว่าคุณจะตีกอล์ฟ ในตอนนี้คุณสามารถลบคำตอบของคุณแก้ไขเพื่อแก้ไขได้แล้วยกเลิกการลบคำตอบของคุณ
NoOneIsHere

@ ไม่มีใครที่นี่โอเคฉันไปข้างหน้าและเล่นกอล์ฟ นี่คือใหม่ซอ
TecBrat

1
แทนที่จะแสดงความคิดเห็นโปรดแก้ไขซอเป็นคำตอบของคุณ นอกจากนี้ยังเป็นงานที่ดีในการเล่นกอล์ฟ ฉันให้ +1 คุณ (FYI ภาษานี้ใช้ภาษา HTML + JavaScript)
NoOneIsHere

5

Java 8 (JavaFX), 61 ไบต์

()->javafx.scene.input.Clipboard.getSystemClipboard().clear()

JavaFX API สำหรับจัดการคลิปบอร์ดนั้นสั้นกว่าของ AWT เล็กน้อย;)


5

Tcl / Tk wish shell (REPL), 5 ไบต์

cli c

Wish shell (REPL) อนุญาตสำหรับคำสั่งที่ไม่สมบูรณ์ตราบใดที่ไม่มีความคลุมเครือคำสั่งทั้งหมดจะเป็น:

clipboard clear

4

PHP + PHP GTK 2.0 , 24 ไบต์

นี่ถือว่าคุณโหลด PHP GTK ไปแล้ว

<?GtkClipboard::clear();

เอกสารอ้างอิง: http://gtk.php.net/manual/th/html/gtk/gtk.gtkclipboard.method.clear.html


คุณไม่จำเป็นต้องเปิด<?แท็กเนื่องจากคุณสามารถเรียกใช้รหัสโดยไม่มี<?แท็กในบรรทัดคำสั่งด้วย-rสวิตช์ ดูข้อมูลเพิ่มเติมได้ที่นี่: meta.codegolf.stackexchange.com/questions/7098/…
Kodos Johnson

@KodosJohnson ฉันตั้งใจทิ้งแท็กเปิดที่นั่น
Ismael Miguel

@KodosJohnson เขาจะยังคงต้องเพิ่มไบต์ในธง
ckjbgames

@ckjbgames ไม่ฉันไม่ต้องการ ธงฟรี ฉันไม่ได้เปลี่ยนรหัสเพราะฉันตั้งใจออกจากแท็กเปิด
Ismael Miguel

@IsmaelMiguel ฉันเห็นผู้คนเพิ่มค่าสถานะ interpreter / compiler ในจำนวนไบต์
ckjbgames
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.