• ベストアンサー

VBScript

下記、プログラムを実行すると、コマンドプロンプトの画面が 消えずに、そのまま残ってしまいます。 どうしたら、画面を消すことができるでしょうか。 お力添えをお願いいたします。 Set WshShell = Wscript.CreateObject("WScript.Shell") Set WshEnv = WshShell.Environment("user") WshEnv("C:\NET\aaa.txt") = "administrator" Wshshell.Run("cmd.exe") WScript.Sleep(500) WshShell.SendKeys("runas /user:administrator " + chr(34) + "xcopy D:\NET\aaa.txt C:\NET\aaa.txt" + chr(34)) WshShell.SendKeys("{Enter}") WScript.Sleep(500) WshShell.AppActivate "C:\WINDOWS\system32\runas.exe" WshShell.SendKeys("XXXXX") WshShell.SendKeys("{Enter}") WScript.Sleep(500)

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

  • ベストアンサー
  • pkh4989
  • ベストアンサー率62% (162/260)
回答No.1

最後の行に以下を追加してみてください。 WshShell.SendKeys("exit") WshShell.SendKeys("{Enter}")

shimegi
質問者

お礼

ありがとうございます!閉じるようになりました!!

その他の回答 (1)

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

>Wshshell.Run("cmd.exe") >WScript.Sleep(500) 不要です。 >WshShell.SendKeys("runas /user:administrator " + chr(34) + "xcopy D:\NET\aaa.txt C:\NET\aaa.txt" + chr(34))             ↓ WshShell.Run "runas /user:administrator ""xcopy D:\NET\aaa.txt C:\NET\aaa.txt""" 修正してみてください。chr(34)の代わりに引用符を二重にします。

shimegi
質問者

お礼

ありがとうございます!

関連するQ&A

  • net useで接続したファイルをrunasでxcopyできない

    こんにちは。VBScriptに関する質問です。 net useで接続した先のファイルをローカルの同名ファイルに 管理者権限で(runasを使用)xcopyを利用してコピーしたいのですが ネットワークに接続はされるのですが、コピーができません。 ちなみに、ローカルからローカルでは成功しています。 ※下記のバッチを流した場合にエラーはでません。 ※ローカルからの変更点は、Call文を利用してる2行を追加したのと  xcopyの送り先をnet useで接続した先に変えただけです。 ※DOSコマンドで行った場合は成功しています。 環境:Windows XP and Windows 2000 Set WshShell = Wscript.CreateObject("WScript.Shell") Call WshShell.Run("net use l: \\DDD\** /user:DDD\[ログオンID] [ログオンPW]") Set WshEnv = WshShell.Environment("user") WshEnv("C:\TEST\b.txt") = "USER01" Wshshell.Run("cmd.exe") WScript.Sleep(500) WshShell.SendKeys("runas /user:USER01 " + chr(34) + "xcopy l:\TEST\b.txt C:\TEST\b.txt /Y" + chr(34)) WshShell.SendKeys("{Enter}") WScript.Sleep(500) WshShell.AppActivate "C:\WINDOWS\system32\runas.exe" WshShell.SendKeys("XXXXXX") WshShell.SendKeys("{Enter}") Call WshShell.Run("net use l: /delete /Y") WshShell.SendKeys("exit") WshShell.SendKeys("{Enter}")  手詰まりになってしまい、困っています。 どなたか、お力添えをいただけると助かります。 よろしく、お願いいたします。

  • VBSのsendkeysで日本語を出力したいです

    WshShell.Run "explorer" WScript.Sleep 100 WshShell.AppActivate "explorer" WScript.Sleep 100 WshShell.SendKeys "C:\Users\Default\" WScript.Sleep 100 WshShell.SendKeys "デスクトップ" WScript.Sleep 100 WshShell.SendKeys "{ENTER}" WScript.Sleep 100 *.VBS ファイルに書き込んで、直接実行したいのですが、エラーになります。 どんなコマンドを足すといいのですか?

  • JP1からvbs(PSExec)が起動できない

    突然失礼します。 以下のサーバーAにあるvbsを、JP1から起動しようとしていますが、うまく起動しないので、もし原因が分かる方がいたら、ご教授願いたいです。 起動しようとしているサーバーAの「test.vbs」は、簡単に言うと、PsExecを利用して、サーバーBの「hoge.bat」を実行する内容です。 ***test.vbs*** Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.Run "PsExec.exe サーバーBIPアドレス -u 実行ユーザ -p 実行ユーザーパスワード cmd" WshShell.AppActivate "cmd " WScript.Sleep 3000 WshShell.SendKeys "cd C:\" WshShell.SendKeys "{enter}" WshShell.SendKeys "hoge.bat" WshShell.SendKeys "{enter}" WScript.Sleep 10000 WshShell.AppActivate "cmd" WshShell.SendKeys "exit" WshShell.SendKeys "{enter}" ************************ 上記バッチを手動で実行するとうまくいくのですが、 JP1で起動しようとすると、うまくいきません。 そもそもPsExecが実行出来ていないかも。。。。 宜しくお願いします。

  • jscriptの質問

    拡張子が「js」のファイルでWshShell.Runでサーバにアクセスできません。 var WshShell= new ActiveXObject("WScript.Shell"); WshShell.Run("runas /user:ドメイン名\\administrator \\サーバ名\Adobe Reader9をサイレントインストールする.bat"); while(!WshShell.AppActivate("runas.exe")){ WScript.Sleep(100); } ・ ・ ・ WshShell.Run("runas /user:ドメイン名\\administrator \\サーバ名… を WshShell.Run("runas /user:ドメイン名\\administrator cmd にすると上手くいきました。 たぶん、「\\サーバ名」の「\」の部分がうまくいってないような気がします どなたかご教授お願いします。

  • WSHを使いTELNETで%USEPROFILE%\デスクトップにファイルを複写したい

    WSHをはじめたばかりです。TELNETで接続した現在の相手のデスクトップにファイルを複写させたいと考えています。 DOSのように指定したのですがカナ文字や%がうまく渡されていないようなのですがどのように設定すればよいか教えてください。 下記のように作成しています。 よろしくお願いします。 set WshShell = WScript.CreateObject("WScript.Shell") WshShell.AppActivate "確認" WScript.Sleep 1000 adr = InputBox("端末IPアドレスを入力してください。", 1) adr = "telnet " & adr & "~" rem telnet ホスト名 WshShell.SendKeys adr WScript.Sleep 2000 rem ユーザー名 WshShell.SendKeys "administrator~" WScript.Sleep 1000 rem パスワード WshShell.SendKeys "administrator~" WScript.Sleep 1000 rem コマンド WshShell.SendKeys "cd %USEPROFILE%\デスクトップ~" WScript.Sleep 3000 rem あとCOPYによる複写コマンドの記述

  • WshShell.Runでサーバにアクセスできません。

    拡張子が「js」のファイルでWshShell.Runでサーバにアクセスできません。 var WshShell= new ActiveXObject("WScript.Shell"); WshShell.Run("runas /user:ドメイン名\\administrator \\サーバ名\Adobe Reader9をサイレントインストールする.bat"); while(!WshShell.AppActivate("runas.exe")){ WScript.Sleep(100); } ・ ・ ・ どなたかご教授お願いします。

  • Windows 7 でのWSH の挙動

    お世話になります。 msdnにある「電卓をアクティブにするサンプルを Vistaで実行すると、電卓がアクティブになり、 計算結果を吐き出しますが、 Windows7(Pro,SP1)で実行すると 最前面に電卓が出るものの アクティブになっていない上に、 複数の電卓がどんどん立ち上がってきます。 Vistaと7で、プロセス(?)の管理が 変わっているのだと思います。 7でも電卓をアクティブにするには、 どうすればいいのでしょうか? 以下コードです。 ================================================ set WshShell = WScript.CreateObject("WScript.Shell") WshShell.Run "calc" WScript.Sleep 100 WshShell.AppActivate "Calculator" WScript.Sleep 100 WshShell.SendKeys "1{+}" WScript.Sleep 500 WshShell.SendKeys "2" WScript.Sleep 500 WshShell.SendKeys "~" WScript.Sleep 500 WshShell.SendKeys "*3" WScript.Sleep 500 WshShell.SendKeys "~" WScript.Sleep 2500 ================================================

  • VBS runas実行時のパスワードを隠す方法について

    VBS runas実行時のパスワードを隠す方法について こんにちわ! いつもお世話になっております。 VBSでIPアドレスを変更するスクリプト(netshコマンドを実行する)を作成しました。 このコマンドを実行するためには管理者権限が必要なため、runasコマンド+SendKeys にて、自動的にパスワードを入力して実行するような形になっております。(下記) -----・-----・-----・-----・-----・-----・-----・-----・-----・-----・----- shshell.Run "cmd.exe", 0 WshShell.Run "runas /user:%computername%\administrator ""コマンド""" WshShell.SendKeys("{Enter}") WScript.Sleep(1500) WshShell.AppActivate "C:\Windows\System32\runas.exe" WshShell.SendKeys("パスワード") WshShell.SendKeys("{Enter}") -----・-----・-----・-----・-----・-----・-----・-----・-----・-----・----- [質問] このスクリプトのパスワードの部分を隠すまたは暗号化する方法を教えてください。 [背景] このスクリプトを作成者と使用者が違います。作成者は、管理者のパスワードを 把握していますが、使用者には管理者権限のパスワードを知られたくありません。 つまり、スクリプトを見れば分かってしまうという状況は避けたいのです。 [調査状況] ・ネットワーク上にパスワードを格納したテキスト等を置いておき、それを  読み取る。⇒これは、今回実行するスクリプトがIPアドレスを変更するもの  であるため、ネットワーク上の端末から情報を得ることができません。 ・タスクに登録する。⇒タスクに登録するために使用者のコンピュータ上に  スクリプトをおく必要があるため、これも不可です。 ・スクリプト自体を暗号化する。⇒最終手段として考えてはいますが、できれば  スクリプト内で処理を行いたいというのが現状です。(監督者の要望のため) [実行環境] ・Windows7 皆様、お忙しいとは思いますが、ご教授いただけると助かります。 以上 よろしくお願い致します。

  • VBSでブラウザ上のテキストボックスに文字列を打ち込み、ボタンを押す方法

    VBSでブラウザ上のテキストボックスに文字列を打ち込み、ボタンを押す方法を教えてください。 現在、下のような方法で行っているのですが応用が利かないので改善したいと思っています。 Set IE = CreateObject("InternetExplorer.Application") Set WshShell = CreateObject("WScript.Shell") IE.Visible = True IE.Navigate("https://サイトのURL") Do Until IE.Busy = False WScript.Sleep 1000 WshShell.SendKeys "y" Loop '(セキュリティの警告が出るため) WScript.Sleep 100 WshShell.SendKeys "{TAB}" WScript.Sleep 100 WshShell.SendKeys "loginid" WScript.Sleep 100 WshShell.SendKeys "{TAB}" WScript.Sleep 100 WshShell.SendKeys "password" WScript.Sleep 100 WshShell.SendKeys "{TAB}" WshShell.SendKeys "{ENTER}" 操作したいページのソースの一部を抜粋すると下記のようになっています。 テキストボックス <INPUT type="text" name="loginId" class="Necessary" size="20" maxlength="5" value="" tabindex="20"> ボタン <INPUT class="button10" type="button" name="sentaku" value="認証" onClick="javascript:execute・・・・略 うまく操作できる方法を教えてください。 よろしくお願いします。

  • キー操作 (WSH:コピー&ペースト)

    ホームページ上のデータをクリップボードに取り込んで メモ帳に写したいです。 キー操作でのコピー&ペーストがうまくいきません。 どこがいけないのでしょうか(WSHを使ってます)。 set WshShell = WScript.CreateObject("WScript.Shell") WshShell.SendKeys "^A" '「Ctrl」を押しながら「A」を押す WshShell.SendKeys "^C" '「Ctrl」を押しながら「C」を押す WSHShell.Run "notepad.exe" 'メモ帳を開く WshShell.SendKeys "^V" '「Ctrl」を押しながら「V」を押す よろしくお願いします。

専門家に質問してみよう