Windows script để sao chép một số văn bản vào clipboard?


27

Tôi đang sử dụng một ứng dụng yêu cầu một số lần thử để đăng nhập (vì máy chủ quá tải).

Ứng dụng này không có tính năng "nhớ mật khẩu của tôi".

Do đó, tôi muốn tạo một tập lệnh (tốt nhất là tập lệnh .bat), trước tiên sẽ sao chép mật khẩu của tôi vào bảng tạm - do đó tôi không phải nhập lại mật khẩu của mình trên mỗi lần đăng nhập - sau đó khởi chạy ứng dụng ( phần dễ dàng)

Điều này có khả thi với lệnh MS-DOS không? Tôi có cần một chút exe hoặc ngôn ngữ kịch bản khác không?

Tôi rõ ràng đang tìm kiếm giải pháp nhanh nhất để thực hiện.

Cảm ơn trước cho ý tưởng của bạn


Tôi không nghĩ bạn có thể giải quyết vấn đề này trong tệp .bat, hãy xem autohotkey, nó sẽ khắc phục vấn đề của bạn trong một vài dòng, nếu bạn đã biết một ngôn ngữ lập trình thì việc này khá dễ dàng.
Guillermo Siliceo Trueba

Câu trả lời:


33

http://www.petri.co.il/software/clip.zip
Lưu ý- Liên kết của Petri hiện không hoạt động. Anh ấy đã nhận nó từ windows server 2003 nhưng tôi cũng thấy clip.exe trên windows 7. Đó là trên phiên bản windows cũng đăng windows 7.

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

EDIT
Điều chính là lệnh clip đó nhưng được Asu chỉ ra, một dòng giống như echo abccũng sẽ gửi một \ r \ n (là một dòng mới). Nếu bạn muốn tránh điều đó, thì đó là một vấn đề rất chuẩn được giải quyết bằng cách thay thế echo texttoecho, bằng echo|set/p=texttoechoSoC:\>echo|set/p=texttoecho|clip

Ngoài ra,
tất nhiên bạn có thể dán bằng cách nhấp chuột phải, nhưng đối với dán dòng lệnh cũng vậy.

unxutils (một thứ cổ xưa không được duy trì trong hơn một thập kỷ) có gclip và pclip (dường như chúng không có trong gnuwin32), với những thứ bạn có thể sao chép và dán qua dòng lệnh.

lưu ý- gnuwin32 cũng có thể không được cập nhật.

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

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

C:\unxutilsblah\usr\local\wbin>

lưu ý - bạn chỉ có thể sao chép tất cả các wbin sang ví dụ c:\unxutilsvà EXE không có phụ thuộc / dlls.

và tất nhiên bạn có thể làm pclip> aa để dán vào một tập tin. hoặc 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>

Trên một lưu ý liên quan, trong cửa sổ cmd, nhấp chuột trái vào trên cùng bên trái, sau đó thuộc tính, sau đó trong tab tùy chọn, chọn hộp có chế độ quickedit. Bây giờ bạn có thể sao chép / dán nhanh. nhấp giữ và kéo bằng chuột trên những gì bạn muốn sao chép chọn nó, nhấn ENTER để sao chép. Nhấp chuột phải để dán.
barlop

và để dán vào dòng lệnh, nhấp chuột phải. để có được nó trong một tệp bó, bạn sẽ cần phải viết một tập lệnh nhỏ hoặc có thể thực thi được bằng một số ngôn ngữ khác như vbs, perl, c để thực hiện hoặc biên dịch ai đó elses stackoverflow.com/questions/1704455/. btw, .vbs sử dụng wshextra Tập hợp clip = createdobject ("WshExtra.Clipboard") Có vẻ như Perl thực hiện nó trong hai dòng nhỏ và không cần thêm tệp.
barlop

và trang web trên trang web của petri đã đề cập đến nó mặc dù nhiều người khác chỉ liên kết đến tệp. petri.co.il/quickly_copy_error_and_display_messages.htm
barlop

cũng có liên kết đó đề cập đến blogpost raymond chen nhưng cũng có một nhận xét về câu trả lời trên liên kết SO này đề cập đến một bình luận trên bài đăng raymond chen sử dụng unxutils gclip và pclip stackoverflow.com/questions/1704455/ của
barlop

2
Tuy nhiên tôi thấy clip.exe có sẵn trong Windows 10.
Bill Rodman

26

Tùy chọn của barlop không hoàn toàn chính xác vì echosẽ thêm một ký tự dòng mới vào mật khẩu của bạn phá vỡ nó.

Những gì bạn cần sử dụng thay thế là đây:

echo|set /p=MyPassWord|clip

Bằng cách này, chuỗi sẽ được sao chép vào bảng tạm.


1
Đây phải là một câu trả lời được chấp nhận. Đã giúp tôi với ký tự dòng mới và dấu ngoặc kép.
Piotr Sobchot

chỉ nên chỉnh sửa câu trả lời hiện có
endolith

@endolith Tôi không có đặc quyền để làm điều đó vào thời điểm đó.
Asu

không thực sự như là: một khoảng trống được thêm vào cuối.
Thierry Dalon

@ThierryDalon "| clip" ở cuối sẽ xóa khoảng trống, vì vậy bạn không nên thêm vào đó.
Asu

1

AutoIt v3 có thể tự động hóa các cửa sổ, giúp cho việc thử nhiều lần đăng nhập trở nên dễ dàng.

AutoIt v3 là một ngôn ngữ kịch bản giống như BASIC miễn phí được thiết kế để tự động hóa GUI Windows và kịch bản chung. Nó sử dụng kết hợp các tổ hợp phím mô phỏng, di chuyển chuột và thao tác điều khiển cửa sổ / điều khiển để tự động hóa các tác vụ theo cách không thể hoặc đáng tin cậy với các ngôn ngữ khác (ví dụ VBScript và SendKeys). AutoIt cũng rất nhỏ, khép kín và sẽ chạy trên tất cả các phiên bản Windows ngoài luồng mà không yêu cầu "thời gian chạy" khó chịu!

AutoIt ban đầu được thiết kế cho các tình huống "tung ra" PC để tự động hóa và cấu hình hàng ngàn PC một cách đáng tin cậy. Theo thời gian, nó đã trở thành một ngôn ngữ mạnh mẽ hỗ trợ các biểu thức phức tạp, các hàm người dùng, các vòng lặp và mọi thứ khác mà các nhà viết kịch kỳ cựu mong đợi.

Họ có những ví dụ tốt, tài liệu và một cộng đồng vững chắc có thể giúp bạn giải quyết các vấn đề về kịch bản.

Mặc dù, bạn có thể tốt hơn nên hỏi liệu họ có thể giải quyết vấn đề với các máy chủ bị quá tải của họ không, vì các yêu cầu tự động hóa chỉ có thể làm cho vấn đề trở nên tồi tệ hơn đối với họ ...


Công cụ này có vẻ rất hữu ích, tuy nhiên tôi sẽ sử dụng Ctrl - V thủ công, nó sẽ không làm tôi mất nhiều thời gian nữa vì tôi không phải nhập mật khẩu hoặc Ctrl-C bằng tay.
Sébastien

1
@Sebastien: Tôi không hiểu, bạn đang yêu cầu một tập lệnh giúp bạn điền mật khẩu dễ dàng hơn và chỉ chấp nhận một giải pháp chỉ cần sao chép / dán? Bạn có biết rằng nếu bạn chọn vòng tròn mật khẩu trong hộp mật khẩu mà bạn chỉ có thể sao chép / dán chúng từ đó không? Xin lưu ý rằng bạn có thể bỏ phiếu trả lời bằng mũi tên phía trên số để thưởng danh tiếng.
Tamara Wijsman

1
Câu trả lời đầu tiên thực sự đáp ứng chính xác nhu cầu (khá cơ bản) mà tôi đã mô tả trong câu hỏi. Bây giờ khi tôi muốn tiến hành tự động hóa thêm một bước nữa, tôi chắc chắn sẽ xem AutoIt;) [và về 'bỏ phiếu', tôi chưa có tiếng tăm gì về nó]
Sébastien

"vòng tròn mật khẩu" Bạn có nghĩa là dấu sao? Họ không phải là vòng tròn! Hãy thử gõ chúng với một phông chữ lớn trong Ms Word ;-) Err, tôi đoán một số phần mềm sử dụng vòng tròn!
barlop

@barlop: Không, không phải dấu hoa thị. Vòng tròn thực sự sai, tôi nghĩ rằng chúng được gọi là "dấu chấm", xem hình ảnh này . Lần tới, tôi sẽ gõ "ký tự mật khẩu" để giữ an toàn cho đến khi ai đó phát minh ra "số liệu mật khẩu" ...
Tamara Wijsman

1

Bản thân tôi đã gặp một kịch bản tương tự và đây là cách tôi đã giải quyết nó.

Đầu tiên, tôi lưu trữ mật khẩu của mình trong Windows Credential Vault (Windows Vista trở lên). Đối với điều này, tôi sử dụng thư viện khóa của Python, nhưng bạn cũng có thể sử dụng một cái gì đó giống như CredMan (Powershell) để quản lý chúng. Sử dụng Windows Credential Vault có nghĩa là mật khẩu không bao giờ phải gõ trên dòng lệnh, do đó không có khả năng bị rò rỉ (chẳng hạn như thông qua lịch sử dòng lệnh).

Thứ hai, tôi sử dụng một công cụ như clip để sao chép mật khẩu vào bảng tạm.

Bạn có thể thấy bạn muốn kết hợp cả hai với tập lệnh PowerShell của riêng bạn để lấy văn bản từ trình quản lý thông tin xác thực và đặt nó vào bảng tạm. Kịch bản có thể đơn giản như:

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

Sau đó, tất cả những gì bạn phải làm là thêm mật khẩu vào 'Một số hệ thống' trong Trình quản lý thông tin Windows và tập lệnh đó sẽ đưa mật khẩu vào bảng tạm vào lệnh một cách kỳ diệu.


1
Cảm ơn bạn; Tôi sẽ đề nghị sử dụng Powershell để truy cập vào bảng tạm. Lưu ý rằng bạn có thể sử dụng powershell -c <command>từ bên trong CMD, vì vậy nếu nó thực sự phải là một tệp bó, thì nó có thể sử dụng một cái gì đó giống như powershell -c [Windows.Forms.Clipboard]::SetText(%PASSWORD%)sau khi CMD được sử dụng để tải mật khẩu vào biến (tạm thời, xin vui lòng!)% PASSWORD%.
CBHacking

0

Cách dễ dàng để làm điều này là:

  1. mở Notepad
  2. sao chép [ CTRL+ C] dòng này:
  3. ECHO | SET /P=mypassword | CLIP
  4. dán [ CTRL+ V] dòng này vào Notepad
  5. và thay đổi "mypassword" cho văn bản của bạn, sau đó lưu nó thành "tên tệp" .bat

Và bạn có thể chỉnh sửa văn bản sao chép này bất cứ khi nào bạn muốn chỉ cần chỉnh sửa tệp này bằng Notepad.


-1 bạn nên tóm tắt câu trả lời này trong một câu ở đầu, trước các bước bé (nếu bạn bao gồm cả các bước bé), và tóm tắt đó sẽ là để cứu những người có kỹ thuật khỏi phải đọc tất cả các bước của bé. Người hỏi biết làm thế nào để viết một tập lệnh để anh ta biết rằng các bản sao ctrl-c vào bảng tạm và dán ctrl-v. như hầu hết các siêu người dùng, đó là trang web này dành cho ai .. Tất nhiên, câu trả lời của bạn đã được người khác định dạng. Bạn vừa thêm các bước bé mà người hỏi không cần.
barlop

1
Và bạn nên nói rằng bạn không cung cấp một giải pháp mới ở đây, chỉ cần xây dựng trên một giải pháp đã được nêu.
barlop

Tại sao lặp lại câu trả lời của ai đó?
Asfand Qazi
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.