web-dev-qa-db-ja.com

一部のテキストをクリップボードにコピーするWindowsスクリプト?

ログインに数回の試行が必要なアプリケーションを使用しています(サーバーが過負荷のため)。

このアプリには「パスワードを記憶する」機能はありません。

したがって、私はscript(できれば.batスクリプト)を作成したいと思います。これは、最初にパスワードをクリップボードにコピーする-再入力する必要がないようにするためです。ログオンのたびに私のパスワード-、次にアプリケーションを起動します(簡単な部分)

これはMS-DOSコマンドで可能ですか?小さなexeまたは別のスクリプト言語が必要ですか?

私は明らかに実装する最も速い解決策を探しています。

あなたのアイデアを事前にありがとう

27
Sébastien

http://www.petri.co.il/software/clip.Zip
注-ペトリのリンクは現在ダウンしています。彼はWindows Server 2003からそれを手に入れましたが、Windows 7でもclip.exeを見ています。それは、windowsバージョンpost windows 7にもあります。

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

[〜#〜]編集[〜#〜]
主なものはそのクリップコマンドですが、Asuが指摘したように、echo abcのような行も\ r\n(新しい行)を送信します。それを回避したい場合、それはecho texttoechoecho|set/p=texttoechoに置き換えることで解決される非常に標準的な問題です。したがって、C:\>echo|set/p=texttoecho|clip

追加
もちろん、右クリックで貼り付けることができますが、コマンドラインで貼り付けることもできます。

unxutils(10年以上維持されていない古いもの)にはgclipとpclip(gnuwin32にはないようです)があり、コマンドラインからコピーして貼り付けることができます。

note-gnuwin32も更新されていない可能性があります。

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

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

C:\unxutilsblah\usr\local\wbin>

注-すべてのwbinをコピーできます。 c:\unxutils、およびEXEには依存関係やDLLがありません。

もちろん、pclip> a.aを実行してファイルに貼り付けることもできます。または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>
34
barlop

echoは改行文字をパスワードに追加してそれを壊すため、barlopのオプションは完全には正しくありません。

代わりに使用する必要があるのは次のとおりです。

echo|set /p=MyPassWord|clip

このようにして、文字列はそのままクリップボードにコピーされます。

26
Asu

AutoIt v ウィンドウを自動化できるため、複数のログイン試行を簡単に試行できます。

AutoIt v3は、Windows GUIと一般的なスクリプトを自動化するために設計されたフリーウェアのBASICのようなスクリプト言語です。他の言語(VBScriptやSendKeysなど)では不可能または信頼できない方法でタスクを自動化するために、シミュレートされたキーストローク、マウスの動き、ウィンドウ/コントロール操作の組み合わせを使用します。 AutoItも非常に小さく、自己完結型であり、Windowsのすべてのバージョンですぐに実行でき、煩わしい「ランタイム」は必要ありません。

AutoItは当初、数千台のPCを確実に自動化および構成するためのPCの「ロールアウト」状況向けに設計されました。やがて、複雑な式、ユーザー関数、ループなど、ベテランのスクリプト作成者が期待するすべてのものをサポートする強力な言語になりました。

彼らは、スクリプトの問題を解決するのに役立つ、優れた例、ドキュメント、堅固なコミュニティを持っています。

ただし、リクエストを自動化すると問題が悪化するだけなので、彼らが過負荷のサーバーの問題を解決できるかどうかを尋ねた方がよいでしょう...

1
Tamara Wijsman

私自身も同様のシナリオに遭遇しました。解決方法は次のとおりです。

まず、パスワードをWindows資格情報ボールト(Windows Vista以降)に保存します。これには、Pythonのキーリングライブラリを使用しますが、 CredMan(Powershell) のようなものを使用して管理することもできます。 Windows資格情報ボールトを使用すると、コマンドラインでパスワードを入力する必要がなくなるため、(コマンドライン履歴などから)漏洩する可能性が低くなります。

次に、clipなどのツールを使用して、パスワードをクリップボードにコピーします。

この2つを、資格情報マネージャーからテキストを取得してクリップボードに置く独自のPowerShellスクリプトと組み合わせたい場合があります。スクリプトは次のように単純なものにすることができます。

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

次に、Windows Credential Managerの「Some System」にパスワードを追加するだけで、そのスクリプトが魔法のようにパスワードをクリップボードのコマンドに書き込みます。

1
Jason R. Coombs

これを行う簡単な方法は次のとおりです。

  1. メモ帳を開く
  2. コピー[CTRLC]この行:
  3. ECHO | SET /P=mypassword | CLIP
  4. 貼り付けCTRLV]この行をメモ帳に
  5. テキストの「mypassword」を変更し、「filename」.batとして保存します。

また、このファイルをメモ帳で編集したいときはいつでも、このコピーしたテキストを編集できます。

0
user461284