• 締切済み

[VBS]実行形式のバイナリデータ埋め込み実行

可能かどうかわかないので教えて下さい。 作成中のVBScript処理内に、ある外部コマンドを利用します。 現在はコマンドを外部から呼び出し実行を行っていますが どうにか、その外部コマンドをVBS内に取り込んで実行させる事が出来ればと考えています。 (単体実行させたい) 一度、その外部コマンドをstreamデータでバイナリとして読み込んでおいて バイナリデータの内容をAという変数に持たせておけば、あとはその変数Aと実行すると 読み込んだ外部コマンドと同じ動きをしてくれたら嬉しいなぁと、、、。 ご教示願いします。

みんなの回答

  • kumatti1
  • ベストアンサー率60% (73/121)
回答No.1

ご参考。

参考URL:
http://omen999.developpez.com/tutoriels/vbs/deployBin/
wansui
質問者

補足

ありがとうございます。 既にバイナリデータが文字列化されているようですが どのように文字列化を行っているのか、私では理解が不能でした、、、

関連するQ&A

  • [VBS] 16進数でバイナリファイル出力したい

    すいません、教えて下さい。 VBSを利用して16進数にてバイナリファイルを生成したいです。 例えばSJIS文字コードの文字列"あ"の場合だと16進数では"82A0"です。 その"82A0"を指定してバイナリファイル出力を行いたいです。 自分で色々と試しましたが、何故か出力ファイルの結果がバイナリで"81 45 A0"となってしまい 結果的に"あ"が表示されません、、、。 目的としてはVBSでビット演算子の論理和による暗号化を行いたいです。 申し訳ありませんが、ご教示頂ければ幸いです。

  • バイナリデータの取り方

    VB6を使用して、バイナリファイルをバイナリデータとして文字列にとりたいのですが、全角文字が絡んだ時の処理がうまくいきません。 バイナリファイルをString型の変数に丸ごと読み込んで、後は何バイトから何バイト目を抜き取り数値に変換…という処理をしようとしています。 本来は、バイナリでファイルをオープンして、Getコマンドで取得するのが手っ取り早いのですが、ファイルアクセス回数を減らすため、このような面倒な方法をとっております。 そこで仮に、 dim test as string dim i as integer test = "aあ" & chr(1) & "0 " For i = 1 to 6 Debug.Print Asc(Strconv( _ MidB(Strconv(test,vbFromUnicode),i,1), _ vbUnicode)) Next のようなソースを作ってみました。(本来は文字列は数100KByte…) しかしながら、この方法ですと上の例では2Byte目、つまり「あ」の文字の1Byte目が「&H00」になってしまいます。その次は「&HA0」、他の箇所も問題ないのですが… おそらくは根本的に違う方法で解決すべきではないかと思うのですがその方法がわかりません。 なお、この格納データはバイナリデータなので、意図的に全角文字にしていくてもその値によって(偶然)全角文字になったり制御文字になったりしますので前もって全角文字に対する処理は難しいと考えてます。 質問の仕方が良くなく、質問の内容がなかなかご理解いただけないとは思いますが、ご存知の方、ご経験者の方、ご教授お願いいたします。

  • VBScriptの実行完了を待ってからDOSのプログラムを実行したい。

    DOSのバッチからVBScriptを実行しています。 VBScriptの実行が完了してから次のDOSコマンドを実行させたいのですが、 START /WAIT SAMPLE.vbs では 実行完了を待ってくれないみたいです。 どうしたらよいでしょうか?ご教授お願いいたします。

  • VBSに関する質問

    VBSを使ってプログラムを作りたいのですが、 visual studioを使ったデバッグの方法について教えてください。 バージョンはvisual studio express 2013で最新バージョンです。 OSはwin8 64bitです。 ・とりあえず、 http://winscript.s41.xrea.com/wiki/index.php?%5B%5B%A5%A8%A5%C7%A5%A3%A5%BF%2FVWD2005%5D%5D のページにあるように、 タイトル VBSスクリプトの実行(&R) コマンド C:\WINDOWS\system32\wscript.exe 引数 $(ItemPath?) を外部ツールに登録した上で MsgBox "テスト" と書かれた適当なvbsファイルをD&Dで読み込ませてみたのですが コードの色分けが行われておらず全て同じ色になっています。 http://www.koutou-software.co.jp/junk/use-vs-project-with-vbscript.html このページのようにdimなどを青色に表示するにはどうしたら良いですか? ・MsgBox "テスト"の左横にブレイクポイントの赤い丸を付けて VBSスクリプトの実行をしたのですが、 特にプログラムを停止することなく実行されてしまうのですが どうすれば指定した位置でプログラムを止めることができますか? ・あとEXEファイルとして出力したいのですが ビルド機能が見つからないのですがどうすれば良いですか? ・http://www.koutou-software.co.jp/junk/use-vs-project-with-vbscript.html このページには Visual C++としてプロジェクトを作成し、いろいろな設定を行った後にするみたいな解説がありますが この通りやっても、wscript.exeが見つからないというようなエラーが出て 実行することができませんでした。 少し質問が多いですが よろしくお願いいたします。

  • VBSについて

    VBSの中でDOSのコマンドを実行したいのですが、VBS内で使用した変数を Runで使うことはできないのでしょうか? ################################################ Set WSHShell = CreateObject("WScript.Shell") x = "C:\Documents and Settings\user" WSHShell.Run "cmd.exe /K dir x" ################################################ たとえば上記のようなプログラムを作ったときに最終行のcmd.exeの 実行で変数xを使用したいのですが、可能でしょうか? このまま実行するとコマンドプロンプトの窓が開いて「ファイルが見つかりません」と表示されてしまいます。 何か方法があればご教授ください。よろしくお願いします。

  • vbsでのコマンド実行について

    お世話になります。 現在、vbs内でRunメソッドとExecメソッドを使用してコマンドを実行しています。 一応、自分の求めている処理はできたんですが・・・ 戻り値を取得する為にExecメソッドでコマンドを実行する記述があるのですがコマンドプロンプトが表示してすぐに消えてとぱかぱかしてしまっています。 そこで皆さんに質問があり、投稿しました。 コマンドをExecメソッドで実行している所をRunメソッドで実行するように変更してみましたがうまくいきませんでした。 ※変更したのはコマンドの最後に「> 20161111.txt」を追加してテキストファイルに出力させるようにコマンドを変更しました。一応、コマンドプロンプトで直接、コマンドを実行したら問題なく戻り値が「20161111.txt」内に出力されるのを確認しました。 objShell.Run ”C:\ ~.exe ・・・ 20161111.txt”, 0, True 説明が下手でうまく伝える事ができたのかが心配ですがどうか私にご教授いただけませんでしょうか。 何卒、宜しくお願いします。

  • VBSであるバッチファイルを管理者として実行させた

    VBSであるバッチファイルを管理者として実行させたいと思っています。 バッチファイル単体を右クリックメニューの「管理者として実行」を選択するとユーザーアカウント制御が表示されて了解すると実行できます。 VBSでInvokeVerbを使い右クリックメニューと同じ「管理者として実行」を指定して実行すると特権がないと怒られてしまいます。 ユーザーアカウント制御が聞かれないところが怪しいですが、右クリックの操作という動きに違いはないと思っています。 VBSで実行するにはどうしたらよいでしょうか? OSはvistaです。 UACについては無効にできない理由があります。 ただ、メッセージ表示をしないようにレジストリを変更してみましたが、結果は同じでした。

  • C#でバイナリデータをテキストフォームへ表示させるには?

    C#でバイナリデータをテキストフォームへ表示させるには? C#でバイナリファイルをテキストへ変換するツールを作成しています。 バイナリデータを配列へ格納し、その配列をテキスト変換してテキストフォームへ出力させるという処理を作成したいのですが、どうすれば良いのかどうしてもわかりません。 どのようなコードをどのようにして書けばよいのか、ご教示いただけないでしょうか。 よろしくお願いします。 (ちなみにC#を始めて1週間ほどです)

  • VBS 実行日付を取得(保持)

    VBSで日付をチェックし、起動する方法をおしえていただき 作成しました。 http://okwave.jp/qa/q8343260.html タスクに保存し、実行しているわけですが VBS内で実行した日付を取得(保持)できないでしょうか? 今日実行したなら、今日は実行しない等 プログラムでは組めますでしょうか? 変数に今日の日付を入れるのもありかと思ったのですが、 保持してくれるかどうか不明だったため、 質問させて頂きました。 回答よろしくお願い致します。

  • CScript vbsファイル実行 途中で止めたい

    Cscript でVBSファイルを実行するとコマンドプロンプトの画面が立ち上がって処理がはじまりますが、 実行中にEnterキーをおさないと次の処理にいかないように、プログラムを書きたいのですが、 書き方わかる方いらっしゃいましたら、教えてください。Enterキーでなくても構いません。 例えばaaa.vbsの中で、大きく二つ処理があって、(1)の処理→(2)の処理の順番だった時に (1)の処理→(コマンドプロンプト上で)止める、自分でなにかボタン押す→(2)の処理みたいな感じにしたいと思っています。 自分が試したのが、以下です、駄目でした。 WScript.StdInを使ったのですが、これを一度使った後に、Wscript.Echoを使うと、 次のWScript.StdInが使えなくて意味がありませんでした。 WScript.StdIn(入力表示されてとまった) → Wscript.Echo "テスト" →WScript.StdIn(入力表示なく、とまらない)