Script Windows untuk menyalin beberapa teks ke clipboard?


27

Saya menggunakan aplikasi yang memerlukan beberapa upaya untuk masuk (karena server kelebihan beban).

Aplikasi ini tidak memiliki fitur "ingat kata sandi saya".

Oleh karena itu, saya ingin membuat skrip (lebih disukai skrip .bat), yang pertama-tama akan menyalin kata sandi saya ke clipboard - jadi saya tidak perlu mengetik ulang kata sandi saya pada setiap upaya masuk log -, kemudian meluncurkan aplikasi ( bagian mudah)

Apakah ini mungkin dengan perintah MS-DOS? Apakah saya perlu sedikit exe atau bahasa skrip lain?

Saya jelas mencari solusi tercepat untuk diterapkan.

Terima kasih sebelumnya atas ide Anda


Saya tidak berpikir Anda bisa menyelesaikan ini dalam file .bat, lihat autohotkey itu harus memperbaiki masalah Anda dalam beberapa baris, jika Anda sudah tahu bahasa pemrograman ini seharusnya cukup mudah.
Guillermo Siliceo Trueba

Jawaban:


33

http://www.petri.co.il/software/clip.zip
Catatan- Tautan Petri saat ini sedang rusak. Dia mendapatkannya dari windows server 2003 tetapi saya melihat clip.exe di windows 7 juga. Ada pada versi windows memposting windows 7 juga.

C:\>echo abc| clip  <-- copies abc to the clipboard.

EDIT
Yang utama adalah perintah klip itu tetapi seperti yang ditunjukkan oleh Asu, baris seperti echo abcjuga akan mengirim \ r \ n (yang merupakan baris baru). Jika Anda ingin menghindari itu, maka itu masalah yang sangat standar diselesaikan dengan mengganti echo texttoecho, dengan echo|set/p=texttoechoSoC:\>echo|set/p=texttoecho|clip

tambahan lebih lanjut
Anda tentu saja bisa tempel dengan klik kanan, tetapi untuk tempel baris perintah juga.

unxutils (sebuah benda kuno yang tidak dipelihara selama lebih dari satu dekade) memiliki gclip dan pclip (sepertinya tidak ada di gnuwin32), dengan yang dapat Anda salin dan tempel melalui baris perintah.

note- gnuwin32 mungkin juga tidak diperbarui.

C:\unxutilsblah\usr\local\wbin>echo a|gclip <-- copy a to clipboard

C:\unxutilsblah\usr\local\wbin>pclip  
a

C:\unxutilsblah\usr\local\wbin>

catatan - Anda bisa menyalin semua wbin ke mis c:\unxutils, dan EXE tidak memiliki dependensi / dll.

dan tentu saja Anda dapat melakukan pclip> aa untuk menempelkan ke file. atau pclip | somecmd

C:\>(echo b & echo a)<ENTER>
b
a

C:\>

C:\unxutils>(echo b & echo a)|gclip<ENTER>


C:\unxutils>pclip<ENTER>
b
a

C:\unxutils>pclip|sort<ENTER>
a
b

C:\unxutils>

Pada catatan terkait, di jendela cmd, klik kiri atas kiri, lalu properti, lalu di tab opsi, centang kotak yang mengatakan mode quickedit. Sekarang Anda dapat menyalin / menempel dengan cepat. klik tahan dan seret dengan mouse ke atas apa yang ingin Anda salin memilihnya, tekan ENTER untuk menyalin. Klik kanan untuk menempel.
barlop

dan untuk menempel ke baris perintah, klik kanan mouse. untuk mendapatkannya dalam file batch, Anda harus menulis skrip kecil atau dieksekusi dalam beberapa bahasa lain seperti vbs, perl, c untuk melakukannya atau mengkompilasi elemen lain stackoverflow.com/questions/1704455/… btw, .vbs menggunakan wshextra .dll set clip = createobject ("WshExtra.Clipboard") Sepertinya Perl melakukannya dalam dua baris kecil dan tidak memerlukan file tambahan.
barlop

dan halaman web di situs petri yang menyebutkannya meskipun banyak orang lain hanya menautkan ke file. petri.co.il/quickly_copy_error_and_display_messages.htm
barlop

juga tautan yang menyebutkan blogpost raymond chen tetapi juga komentar pada jawaban di sana pada tautan SO ini menyebutkan komentar pada posting raymond chen yang menggunakan unxutils gclip dan pclip stackoverflow.com/questions/1704455/…
barlop

2
Namun saya melihat bahwa clip.exe tersedia di bawah Windows 10.
Bill Rodman

26

Opsi barlop tidak sepenuhnya benar karena echoakan menambahkan karakter baris baru ke kata sandi Anda yang merusaknya.

Yang perlu Anda gunakan adalah ini:

echo|set /p=MyPassWord|clip

Dengan cara ini string akan disalin ke clipboard apa adanya.


1
Ini harus menjadi jawaban yang diterima. Membantu saya dengan karakter baris baru dan tanda kutip.
Piotr Sobczyk

seharusnya hanya mengedit jawaban yang ada
endolith

@endolith saya tidak memiliki hak untuk melakukan itu pada saat itu.
Asu

tidak benar-benar seperti ini: ruang kosong ditambahkan di akhir.
Thierry Dalon

@ThierryDalon "| clip" pada akhirnya menghapus spasi, jadi Anda seharusnya tidak menambahkannya.
Asu

1

AutoIt v3 dapat mengotomatiskan windows, yang membuat mencoba beberapa upaya login menjadi mudah.

AutoIt v3 adalah bahasa scripting seperti BASIC freeware yang dirancang untuk mengotomatisasi Windows GUI dan skrip umum. Ini menggunakan kombinasi penekanan tombol yang disimulasikan, gerakan mouse dan manipulasi jendela / kontrol untuk mengotomatisasi tugas dengan cara yang tidak mungkin atau dapat diandalkan dengan bahasa lain (mis. VBScript dan SendKeys). AutoIt juga sangat kecil, mandiri dan akan berjalan pada semua versi Windows out-of-the-box tanpa diperlukan "runtimes" yang mengganggu!

AutoIt awalnya dirancang untuk situasi "peluncuran" PC untuk mengotomatiskan dan mengonfigurasi ribuan PC dengan andal. Seiring berjalannya waktu, ia telah menjadi bahasa yang kuat yang mendukung ekspresi kompleks, fungsi pengguna, pengulangan, dan segala sesuatu yang diharapkan oleh para penulis veteran.

Mereka memiliki contoh, dokumentasi, dan komunitas yang baik yang dapat membantu Anda dengan masalah skrip.

Meskipun, Anda mungkin lebih baik bertanya apakah mereka dapat memecahkan masalah dengan server mereka yang kelebihan beban, karena permintaan otomatis hanya akan membuat masalah menjadi lebih buruk bagi mereka ...


Alat ini terlihat sangat berguna, namun saya akan tetap menggunakan Ctrl - V manual, itu tidak akan membuat saya lebih lama sekarang karena saya tidak perlu mengetikkan kata sandi atau secara manual Ctrl-C itu.
Sébastien

1
@Sebastien: Saya tidak mengerti, Anda meminta skrip untuk membantu Anda mengisi kata sandi dengan lebih mudah, namun hanya menerima solusi yang hanya menyalin / menempel? Tahukah Anda bahwa jika Anda memilih lingkaran kata sandi di kotak kata sandi yang baru saja Anda salin / tempel dari sana? Harap perhatikan bahwa Anda dapat memilih jawaban dengan panah di atas angka untuk menghargai reputasi.
Tamara Wijsman

1
Jawaban pertama sebenarnya persis memenuhi kebutuhan (cukup mendasar) yang saya jelaskan dalam pertanyaan. Sekarang ketika saya ingin mengambil otomatisasi selangkah lebih maju, saya pasti akan melihat AutoIt;) [dan tentang 'memilih', saya belum memiliki reputasi untuk itu]
Sébastien

"lingkaran kata sandi" Apakah maksud Anda tanda bintang? Mereka bukan lingkaran! Coba ketikkan mereka dengan font besar di Ms Word ;-) Err, well, saya kira beberapa perangkat lunak menggunakan lingkaran!
barlop

@barlop: Tidak, bukan tanda bintang. Lingkaran memang salah, saya pikir mereka disebut "titik", lihat gambar ini . Lain kali, saya akan mengetik "karakter kata sandi" yang akan membuat saya tetap aman sampai seseorang menemukan "angka kata sandi" ...
Tamara Wijsman

1

Saya sendiri mengalami skenario serupa dan inilah cara saya menyelesaikannya.

Pertama, saya menyimpan kata sandi saya di Windows Credential Vault (Windows Vista dan yang lebih tinggi). Untuk ini, saya menggunakan pustaka keyring Python, tetapi Anda bisa juga menggunakan sesuatu seperti CredMan (Powershell) untuk mengelolanya. Menggunakan Windows Credential Vault berarti kata sandi tidak pernah harus diketik pada baris perintah, jadi tidak mungkin bocor (seperti melalui sejarah baris perintah).

Kedua, saya menggunakan alat seperti klip untuk menyalin kata sandi ke papan klip.

Anda mungkin ingin menggabungkan keduanya dengan skrip PowerShell Anda sendiri yang mengambil teks dari pengelola kredensial dan meletakkannya di clipboard. Script bisa berupa sesuatu yang sederhana seperti:

$cred = Read-Creds 'Some System'
[Windows.Forms.Clipboard]::SetText($cred.CredentialBlob)

Kemudian, yang harus Anda lakukan adalah menambahkan kata sandi ke 'Some System' di Windows Credential Manager dan skrip itu akan secara ajaib memasukkan kata sandi pada clipboard sesuai perintah.


1
Terima kasih; Saya akan menyarankan menggunakan Powershell untuk mengakses clipboard. Perhatikan bahwa Anda dapat menggunakan powershell -c <command>dari dalam CMD, jadi jika itu sebenarnya harus merupakan file batch, itu bisa menggunakan sesuatu seperti powershell -c [Windows.Forms.Clipboard]::SetText(%PASSWORD%)setelah CMD digunakan untuk memuat kata sandi ke variabel (sementara, kumohon!)% PASSWORD%.
CBHacking

0

Cara termudah untuk melakukan ini adalah:

  1. buka Notepad
  2. salin [ CTRL+ C] baris ini:
  3. ECHO | SET /P=mypassword | CLIP
  4. tempel [ CTRL+ V] baris ini ke Notepad
  5. dan ubah "mypassword" untuk teks Anda, lalu simpan sebagai "filename" .bat

Dan Anda dapat mengedit teks yang disalin ini kapan pun Anda ingin mengedit file ini dengan Notepad.


-1 Anda harus merangkum jawaban ini dalam satu kalimat di bagian atas, sebelum langkah bayi Anda (jika Anda menyertakan langkah bayi sama sekali), dan ringkasan itu adalah untuk menyelamatkan orang-orang yang secara teknis dari harus membaca semua langkah bayi Anda. Penanya tahu bagaimana menulis skrip sehingga ia tahu bahwa ctrl-c menyalin ke clipboard dan pasta ctrl-v. seperti halnya sebagian besar pengguna super, yang dimaksudkan untuk siapa situs ini .. Tentu saja, jawaban Anda sudah dipatok oleh orang lain. Anda baru saja menambahkan langkah kecil yang tidak perlu dilakukan oleh si penanya.
barlop

1
Dan Anda harus menyatakan bahwa Anda tidak menawarkan solusi baru di sini, hanya menjelaskan satu yang sudah dinyatakan.
barlop

Mengapa mengulangi jawaban orang lain?
Asfand Qazi
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.