テーマ:プログラミングあれこれ(231)
カテゴリ:プログラミング
今回はプログラムの記事でございます
Window10 のVBScript のスクリプトで クリップボードにコピーされている文字列を環境変数にセットしたいと思いますよ クリップボードの文字列が複数行の文字列の場合でも 環境変数にそのまま複数行の文字列をセットするところまで考慮したいと思いますよ 環境変数の名前は固定にせずに自由に設定できるというところも考慮しておりますよ 使用方法は、引数に、環境変数の名前を指定して実行してくださいな そうすると、その時にクリップボードに格納されている文字列が 指定の環境変数に代入されますよ 引数がなにも指定されなかった場合は何もせず終了でございます こちらはqiita のほうでも公開したいと思いますよ 楽天ブログよりもわかりやすくソースコードを載せることができますのでね if Wscript.Arguments.Count=0 then WScript.Quit Set HF = CreateObject("htmlfile") ClipboardText = HF.ParentWindow.ClipboardData.GetData("text") Set objWshShell = WScript.CreateObject("WScript.Shell") Set objUsrEnv = objWshShell.Environment("User") if instr( ClipboardText ,vbCrLf)>-1 then ClipboardText =Replace( ClipboardText ,vbCrLf ,"^" & vbCrLf & vbCrLf) end if objUsrEnv.Item(Wscript.Arguments(0)) =ClipboardText Set objUsrEnv = Nothing Set objWshShell = Nothing この内容を、例えば、 SetEnvFromClipboard1.vbs という名前で保存してくださいな ファイルのエンコードはANSI にする必要がありますぞ そしてこのSetEnvFromClipboard1.vbs を実行して 正しく環境変数にセットされていることを確認するバッチファイルの例は以下ですな こちらもファイルのエンコードはANSI にする必要がありますぞ @echo off start /min /wait /B SetEnvFromClipboard1.vbs CB echo %CB% pause 実行してみるとわかるのでございますが こんな単純な処理なのに10秒?程度かかってしまっておりますよ とりあえず複数行の文字列に対応させたということで お役に立てればと思いますよ お気に入りの記事を「いいね!」で応援しよう
最終更新日
2021/05/17 12:21:24 PM
コメント(0) | コメントを書く
[プログラミング] カテゴリの最新記事
|
|