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


27

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

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

そのため、最初にパスワードをクリップボードにコピーするスクリプト(できれば.batスクリプト)を作成したいので、ログオンのたびにパスワードを再入力する必要はありません。次に、アプリケーションを起動します(簡単な部分)

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

私は明らかに、実装する最も迅速なソリューションを探しています。

あなたのアイデアを事前に感謝します


.batファイルでこれを解決できるとは思いません。数行で問題を解決するオートホットキーをご覧ください。プログラミング言語を既に知っている場合、これはかなり簡単です。
ギジェルモSiliceo Trueba

回答:


33

http://www.petri.co.il/software/clip.zip
注-ペトリのリンクは現在ダウンしています。彼はWindows Server 2003から取得しましたが、Windows 7でもclip.exeが表示されます。Windows 7以降のWindowsバージョンにもあります。

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

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

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

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

注-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をegにコピーするだけc:\unxutilsで、EXEには依存関係/ dll はありません。

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

関連するメモでは、cmdウィンドウで左上を左クリックし、次にプロパティをクリックし、次にオプションタブで、クイック編集モードと書かれたボックスをチェックします。これで、コピー/貼り付けをすばやく行うことができます。ホールドをクリックし、コピーしたいものをマウスでドラッグして選択し、ENTERを押してコピーします。右クリックして貼り付けます。
-barlop

コマンドラインに貼り付けるには、マウスを右クリックします。バッチファイル内でそれを得るために、あなたがまたはコンパイル誰かのよそはそれを行うには、VBS、perlの、Cのようないくつかの他の言語で小さなスクリプトまたは実行可能ファイルを作成する必要があります stackoverflow.com/questions/1704455/... ところで、.VBSはwshextraを使用しています.dll set clip = createobject( "WshExtra.Clipboard")Perlは2行でそれを行うようで、追加のファイルは必要ありません。
barlop

他にも多くの人がファイルにリンクしているだけですが、それについて言及したペトリのサイトのウェブページ。 petri.co.il/quickly_copy_error_and_display_messages.htm
barlop

また、リンクはレイモンドチェンはブログ投稿言及も、このSOリンク上が答えにコメントが用途unxutils gclipとpclipことRaymond Chenはポストにコメントを述べていることstackoverflow.com/questions/1704455/...
barlop

2
しかし、私はそれclip.exeは、Windows 10で利用することができます参照
ビル・ロッドマン

26

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

代わりに使用する必要があるのはこれです:

echo|set /p=MyPassWord|clip

これにより、文字列がそのままクリップボードにコピーされます。


1
これは受け入れられた答えであるべきです。改行文字と引用符で助けてくれました。
ピョートルソブチク

既存の回答を編集する必要があります
Endolith

@endolith私はその時にそれをする特権を持っていませんでした。
明日

実際にはそうではありません。末尾に空白スペースが追加されます。
ティエリーダロン

末尾の@ThierryDalon "| clip"はスペースを削除するため、追加する必要はありません。
明日

1

AutoIt v3はウィンドウを自動化できるため、いくつかのログイン試行を簡単に試行できます。

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

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

優れた例、ドキュメント、およびスクリプトの問題を解決できる強固なコミュニティがあります。

ただし、リクエストを自動化することで問題が悪化する可能性があるため、過負荷のサーバーで問題を解決できるかどうかを尋ねる方が良いかもしれません...


このツールは非常に便利に見えますが、手動のCtrl-Vに固執します。パスワードを入力したり、Ctrl-Cを手動で入力したりする必要がなくなったので、それほど時間はかかりません。
セバスチャン

1
@セバスチャン:わかりません、パスワードをもっと簡単に入力するのに役立つスクリプトを求めていますが、コピー/貼り付けだけを行うソリューションを受け入れるだけですか?パスワードボックスでパスワードサークルを選択すると、そこからコピー/貼り付けできることをご存知ですか?数字の上にある矢印で回答を投票して、評判に報いることができます。
タマラWijsman

1
最初の答えは、実際に私が質問で説明した(かなり基本的な)ニーズを正確に満たします。自動化をさらに一歩進めたいときは、AutoItを必ず見てみましょう;)[そして、「投票」については、まだ評判がありません]
セバスチャン

「パスワードサークル」はアスタリスクを意味しますか?彼らは円ではありません!Ms Wordで巨大なフォントで入力してみてください;-)えー、まあ、いくつかのソフトウェアは円を使用していると思います!
barlop

@barlop:いいえ、アスタリスクではありません。円は確かに間違っています。「ドット」と呼ばれると思います。この写真をご覧ください。次回は、私は...誰かの発明し、「パスワードの数字」まで、安全な私を維持する必要があり、「パスワードの文字」と入力します
タマラWijsman

1

私自身も同様のシナリオに遭遇しましたが、ここでそれを解決しました。

最初に、Windows Credential Vault(Windows Vista以降)にパスワードを保存します。このために、私はPythonのキーリングライブラリを使用しますが、CredMan(Powershell)などを使用してそれらを管理することもできます。Windows Credential Vaultを使用すると、コマンドラインでパスワードを入力する必要がなくなるため、(コマンドラインの履歴などを介して)漏洩する可能性が低くなります。

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

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

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

次に、Windows Credential Managerの 'Some System'にパスワードを追加するだけで、スクリプトはコマンドでクリップボードにパスワードを魔法のように配置します。


1
ありがとうございました; Powershellを使用してクリップボードにアクセスすることをお勧めします。powershell -c <command>CMD内から使用できるので、実際にバッチファイルである必要がある場合はpowershell -c [Windows.Forms.Clipboard]::SetText(%PASSWORD%)、CMDを使用してパスワードを(一時的な!)%PASSWORD%変数にロードした後に使用できることに注意してください。
CBH

0

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

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

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


-1赤ちゃんの歩みの前に(赤ちゃんの歩みを含む場合)、この答えを上部の1つの文に要約する必要があります。その要約は、技術的な人をすべての赤ちゃんの歩みを読む必要がないようにするためです。質問者はスクリプトの書き方を知っているので、ctrl-cがクリップボードにコピーし、ctrl-vが貼り付けられることを知っています。ほとんどのスーパーユーザーと同じように、このサイトの目的はもちろんです。もちろん、あなたの答えはすでに他のユーザーによって満たされています。質問者が必要のないベビーステップを追加しました。
-barlop

1
そして、ここで新しいソリューションを提供するのではなく、すでに述べたソリューションを詳しく説明するだけであると述べてください。
-barlop

他の人の答えを繰り返すのはなぜですか?
Asfand Qazi
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.