[前の記事]« 指定したファイルが存在するサブディレクトリをまるごと移動したい
[次の記事]SET /Pの入力文字列から特殊文字の有無をチェックするには »

関連オンラインソフト配布サイト:
Vector>ダウンロード(top) |>MS-DOSまたは汎用 | >WindowsVista/XP/2000/NT

▲カテゴリー「こんなことは可能ですか?」索引へ

バッチファイル内でクリップボードから文字列を取り出す

1622.
バッチファイル内でクリップボードから文字列を取り出す
2007年01月22日(月) 03時55分
eiji
はじめまして。
過去ログも含めてグーグルで検索したのですが分からないので質問させてください。

バッチスクリプト上で、クリップボードに一時保存された文字列を読み出して使用することはできるのでしょうか?
具体的には以下のような手順を一つのバッチスクリプト内で行いたいと考えています。
1) あるGUIプログラムを起動する。
2) そのプログラム上で、とある文字列をクリップボードに送る。
3) そのプログラムを終了する。
4) CLIな文字列置換ソフトを使い、あるテキストファイルの中の例えば全ての "abc" という文字列を先ほどクリップボードに送った文字列に置き換える。
5) その他諸々の作業

クリップボードに送るDOSコマンドはあるようですが(CLIP)、取り出す方法が分からず悩んでいます。
そういう事が可能なフリーのコマンドラインアプリをご存知でしたらそれでも構いませんのでご教示ください。

因みに使用OSはXPです。
1623.
Re:バッチファイル内でクリップボードから文字列を取り出す
2007年01月22日(月) 14時29分
scriptwriter
一行で
@MSHTA.EXE "javascript:var s=clipboardData.getData('text');if(s)new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(s);close();" | MORE

1626.
Re:バッチファイル内でクリップボードから文字列を取り出す
2007年01月23日(火) 15時50分
otn
>クリップボードに送るDOSコマンドはあるようですが(CLIP)、取り出す方法が分からず悩んでいます。
>そういう事が可能なフリーのコマンドラインアプリをご存知でしたらそれでも構いませんのでご教示ください。

clip.exeって非標準ですよね。

http://www.tsg.ne.jp/GANA/S/cliputil/
を使っています。
1627.
Re:バッチファイル内でクリップボードから文字列を取り出す
2007年01月24日(水) 02時31分
eiji
scriptwriterさん、otnさん、返信ありがとうございます。お二方の両方のやり方で標準出力にクリップボードの文字列を送ることができました。

ただ、この直後にコマンドライン用文字列置換プログラムの1パラメータとしてその文字列を使用したいのですが(書式は
chikan.exe [置換作業するテキストファイル] [置換される文字列] [置換する文字列(ここにクリップボードからの文字列を使用)])
当方初心者なもので、パイプでこのプログラムに標準出力を渡しパラメータに "-" を使用して利用できるか試したのですが、 "-" のままで置換されてしまいました。

とりあえず >temp.txt としてテキストファイルに保存することができたので、次にこのファイルの中から1行丸ごと読み込んで環境変数に入 れ、最後にこの変数をパラメータとして用いて目的を達することができたのですが、これは無知が故に回りくどい方法をしているでしょうか?もしお時間をいた だけたらアドバイスをよろしくお願いします。

1628.
Re:バッチファイル内でクリップボードから文字列を取り出す
2007年01月24日(水) 19時14分
otn
>ただ、この直後にコマンドライン用文字列置換プログラムの1パラメータとしてその文字列を使用したいのですが(書式は
>chikan.exe [置換作業するテキストファイル] [置換される文字列] [置換する文字列(ここにクリップボードからの文字列を使用)])

>とりあえず >temp.txt としてテキストファイルに保存することができたので、次にこのファイルの中から1行丸ごと読み込んで環境 変数に入れ、最後にこの変数をパラメータとして用いて目的を達することができたのですが、これは無知が故に回りくどい方法をしているでしょうか?もしお時 間をいただけたらアドバイスをよろしくお願いします。

バッチメインで行うならそれが妥当な方法だと思います。

for /f %%A in ('cliputil -paste') do set AA=%%A

とすると、ファイルを使わずに変数にセットできますが、大差ないと思います。
forを使うなら for /? や過去ログをよく調べてください。
 
 
 


カテゴリー「こんなことは可能ですか?」索引へ

 

カテゴリー一覧

FPCU/FPCDIY QUICK LINK online
この上の各ジャンル名をクリックすると、下のウィンドウが切り替わります▼


=リンク集のインデックスはこちら=

資料書籍

About

2007年01月22日 14:07に投稿されたエントリーのページです。

ひとつ前の投稿は「指定したファイルが存在するサブディレクトリをまるごと移動したい」です。

次の投稿は「SET /Pの入力文字列から特殊文字の有無をチェックするには」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

This site is powered by Six Apart
Movable Type 3.33-ja
このブログについて | 運営:有限会社メディアポート