• ベストアンサー

VBSファイルの保護

テキストファイルにVBSのコードを書いてVBSの拡張子で保存して使っています 動作は問題ないのですが、これってファイルを右クリックの編集で 誰でも見ることが出来、編集することが出来ますね パスワード等で特定の人しか編集できないようにすることは可能でしょうか

質問者が選んだベストアンサー

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1415)
回答No.1

暗号化という方法があります。 ソースは自分の所にだけ置いておき、暗号化ファイルを頒布します。 例えば、X.vbs を暗号化し、Y.vbe として配布します。 http://www.microsoft.com/downloads/details.aspx?FamilyID=2976ee94-bec5-4314-84fd-8d7ec891c1c5&displaylang=ja 1文字でも変更すると動作しなくなります。

watabe007
質問者

お礼

nda23さん、ありがとうございます。 早速、ご紹介のサイトよりsce10jp.exe をDLL インストールして 暗号化することが出来ました。

watabe007
質問者

補足

すみません、VBSファイルを暗号化する事が出来ましたが さらに欲が出てきまして sample.vbsを暗号化するためにはコマンド・プロンプトより C:\>cd C:\Program Files\Windows Script Encoder C:\Program Files\Windows Script Encoder> screnc sample.vbs samplevbe と入力しなければなりません これをVBSで行うには どの様にコードを書けば良いでしょうか

その他の回答 (1)

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.2

Const FromDir = "C:\moto" '★実際のフォルダのパスを指定する Const ToDir = "C:\saki" '★実際のフォルダのパスを指定する Dim FSO, FLD, FLO, SHL, NAME, CMD Set FSO = CreateObject("Scripting.FileSystemObject") Set SHL = CreateObject("WScript.ShelL") Set FLD = FSO.GetFolder(FromDir) For Each FLO In FLD.Files   NAME = FLO.Name   If LCase(Right(NAME, 4)) = ".vbs" Then     NAME = Left(NAME, Len(NAME) - 4)     CMD = """C:\Program Files\Windows Script Encoder\screnc.exe"" "     CMD = CMD & FromDir & "\" & NAME & ".vbs "     CMD = CMD & ToDir & "\" & NAME & ".vbe"     SHL.Run CMD, 0, True '★少数ならFalseでも良い   End If Next VBSやるなら、これくらいは直ぐに書けるようにしましょう。

watabe007
質問者

お礼

nda23さん、早速の回答ありがとうございます。 変換はその都度行いますので下記で行うことが出来ました。 Dim FSO, SHL, CMD Set FSO = CreateObject("Scripting.FileSystemObject") Set SHL = CreateObject("WScript.ShelL") CMD = """C:\Program Files\Windows Script Encoder\screnc.exe""" CMD = CMD & " " & "G:\moto\sample.vbs" CMD = CMD & " " & "G:\saki\sample.vbe" SHL.Run CMD, 0, False Set FSO = Nothing Set SHL = Nothing MsgBox "無事変換できました。" ありがとうございました。 >VBSやるなら、これくらいは直ぐに書けるようにしましょう。 は~い! 勉強します。

関連するQ&A

  • VBSについて

    テキストに「selectkey = MsgBox(Now, vbexclamation, "現在")」と入れて拡張子 .vbs で保存して現在時刻を表示するVBSファイルを作りました。 今はスタートアップに入れて起動時に毎回立ち上がるのですが、これを毎月特定の日(たとえば毎週月曜とか毎月10日とか)にのみ立ち上がるようにできませんでしょうか?

  • VBS形式ファイル:ダブルクリックで実行させたい

    VBS形式ファイル:ダブルクリックで実行させたいです。 当方が現在トライしているのは: エクスプローラからVBS形式ファイル→アプリケーションから開く→プログラムの選択 によって何らかのプログラムを選択すればよいのかと思い、プログラムを探しておりますが適当なのが見つかりません。 この問題の経緯: 先ほどまではVBS形式ファイルをダブルクリックすると自動で実行できました。VBS形式ファイル編集時は右クリック→秀丸から開いておりました。 しかし、プログラム編集に没頭するあまり、右クリック→開くとしたところノートパッドで開かれたことから、秀丸が開いてほしいと思ってしまい、誤ってアプリケーションから開く→プログラムの選択→秀丸を選んでしまいVBS形式ファイルをダブルクリックすると自動で実行できなくなり、秀丸で開かれてしまうようになりました。 そこで: これを解消して以前のようにダブルクリック実行させたいです。 どうぞよろしくお願いします。

  • VBSをショートカットから編集

    VBSやBAT等のファイルをショートカットからテキストエディタ編集したいです。 現在 ・ダブルクリックから開く既定のプログラムはWSH実行されるようになっている(変更したくない) ・極力外部アプリケーションは使いたくないのでテキストエディタで編集したい という状態です。 毎回わざわざ右クリックから編集を選択して編集画面を開いているのですが、 キーボードショートカットのみで開きたいです。 (「Shiht+F10→E」等ではなく、「Ctrl+?」の様にワンステップで行えるものを探してます) もし上記不可能であれば、外部アプリでショートカットから編集が可能なものを教えていただけると幸いです。。 回答よろしくお願いします!

  • jsファイルとvbsファイル

    e-wordsをIEの右クリックに追加するようにしました。 ところで、それをインストールするときJSファイルでした。 jsってHTML以外にも使うんですか? 詳しく知りたいです。 似ているかどうかわかりませんが、VBSってのもありました。

  • VBSが起動しない

    windows7 64bitのpcです。 簡単ないろんな計算をしたいと思ってvbsを勉強中ですが、 ただ単にメモ帳で msgbox "こんにちは"と打ち込んで 拡張子を「ファイル」・vbsに変えてアイコンもスクリプトのアイコン表示になりました。 ファイルのプロパティでもスクリプトファイルと認識されています。 しかし、「ファイル」・vbsをダブルクリックで実行すると”c:「ファイル」に拡張子がありません”とダイアログ表示されます。 スクリプトホストに「ファイル」・vbsをドラグしても同じ結果でした。 どなたかこの状態の解決をご存知の方よろしくご指導のほどお願いいたします。

  • 【テキストファイルへの出力ができない】

    お世話になっております。 以前こちらで質問させていただき、親切なご回答のおかげて解決したのですが、 新たに問題が出てしまいました。 ご存知の方、どうかご教授くださいませ。 WindowsVistaで、IE8を利用した場合、 IE右クリックを拡張で実行させたプログラムで、 「テキストへの書き込み」ができません。 XPでIE6を利用すると、きちんと動きます。 たとえば、http://www.happy2-island.com/vbs/cafe02/capter00207.shtml のサイトのプログラムを、【test1.vbs】という名前で保存します。 書き込み先を、同じフォルダに作った【test2.txt】というテキストファイルに指定します。 Windows Based Script Hostでvbsファイルをそのまま実行すると、ちゃんと【test2.txt】に 情報が書きこまれるのですが、 IE右クリックに登録して実行すると、【test2.txt】は白紙のままです。 特にエラーも出ないため、原因がまったくわかりません。 原因にお心当たりのある方がいらっしゃいましたら、 どうかお教え下さい。 宜しくお願いいたします。

  • UWSCからvbsファイルを呼ぶ方法

    UWSCからvbsを呼ぼうと思って以下の記述をしてみましたが、上手く動きません。 str="C:\SendMail.vbs" Exec(str) SendMail.vbsファイルをマウスでクリックすると正常にメールが届くのでSendMail.vbs内の記述には問題なさそうです。 ググってもUWSCファイル内にvbsのファンクションを記述する方法はありましたが、vbsファイルの呼び出し方は見つけられませんでした。 正しい記述方法があれば教えて下さい。よろしくお願いします。

  • テキストドキュメント(拡張子.txt)を開くことができません。

    テキストドキュメント(拡張子.txt)を開くことができません。 テキストドキュメント(拡張子.txt)を左ダブルクリックで開こうとすると 「スクリプト ファイル "C:\WINDOWS\{HCQ9D-~以下続く}.vbs"が見つかりません。」 というエラーメッセージが出て、開くことができません。  右クリックで「プログラムから開く」を選ぶと、NotePadやMemoPadで開くことはできます。 問題が起きるようになったきっかけは特定できないのですが、 アドビやソニー等の画像編集ソフトをインストールしてから、の気がします。 シマンテックはインストールしていません。 OSはXPのSP3です。 少々不便で、他の表面化していない問題もあるかもしれない、と心配です。 もしも回避方法、解決方法があれば教えていただけると幸いです。よろしくお願いいたします。

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

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

  • ファイルの保存を行いたい

    Visual Basic 2010で、メールソフトで添付ファイルの保存・削除と同じような動きをするテキストボックス?を作りたいと考えてますがコードが思いつきません。 どなたか教えて頂けないでしょうか? 動作として (1)テキストボックスにドラッグ&ドロップで選択されたファイルを表示。 この時、テキストボックスに表示されているファイルを右クリックで表示から削除も行いたい (2)実行ボタンを押下で、テキストボックスに表示されているファイルを 日付(年月日と時刻)のファイル名でフォルダーを新規作成して保存したい。 宜しくお願いします。

専門家に質問してみよう