• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:prnport.vbsについて)

prnport.vbsについてご教示ください

このQ&Aのポイント
  • prnport.vbsについてご教示ください。環境はWIN7です。
  • スクリプトでプリンタの「一時停止」と「再開」を行いたいと、かれこれ一週間試行錯誤しています。
  • 上記コマンドを入力したVBSファイルを作成し、ダブルクリックしても設定が反映されません。VBSファイルになにか記述において不足している情報などございますでしょうか?

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

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4852/10266)
回答No.3

>C:\は内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイ と表示されていました。 あの、コマンドプロンプトで打ち込むときに、cscriptから打ち込んだはずです。 BATファイルには、 cscript.exe /nologo %WINDIR%\System32\Printing_Admin_Scripts\ja-JP\prnqctl.vbs -z -p "Brother DCP-J925N Printer" pause を書き込んでください。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (5)

  • kteds
  • ベストアンサー率42% (1876/4426)
回答No.6

No.5の追記です。 cscript.exeのpath(フルpath)を添付画像で示しました。 どのファイルでもプロパティを参照すればフルpathが解ります。 ご参考までに。

全文を見る
すると、全ての回答が全文表示されます。
  • kteds
  • ベストアンサー率42% (1876/4426)
回答No.5

No.1の補足です。 batファイルにしてbatファイルを「管理者として実行」してください・ また、cscript.exe の場所は c:\windows\system32\cscript.exe です。 フルpathで指定しないとpathが通っていませんので、 「C:\は内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」 とエラー表示されます。 意味は「指定した場所にcscript.exeがありません」というエラーです。 --- 一般論ですが、バッチなどのscriptを記述する場合は、path は「フルpath」で記述してしてください。

kosamon
質問者

補足

notnot様、kteds様お世話になります。 No4の回答で >Cドライブ直下か、Windowsフォルダか、Windows\system32 フォルダあたりに、大きさゼロで まさにご指摘のように出来てました。 他のフォルダのバックアップから同一ファイルをコピペすることで現在復旧しています。 >一般論ですが、バッチなどのscriptを記述する場合は、path は「フルpath」で記述してしてください。 パスの指定を見直すことで、きちんと動作することを確認できました。 皆様ありがとうございました。 重ね重ねお礼申し上げます。

全文を見る
すると、全ての回答が全文表示されます。
  • notnot
  • ベストアンサー率47% (4852/10266)
回答No.4

追記: BATファイルに、文字通り、 C:\>cscript.exe /nologo %WINDIR%\System32\Printing_Admin_Scripts\ja-JP\prnqctl.vbs -z -p "Brother DCP-J925N Printer" と書いて、管理者として実行してしまったのなら、 Cドライブ直下か、Windowsフォルダか、Windows\system32 フォルダあたりに、大きさゼロで cscript.exe というファイルが出来てしまったかもしれません。悪くすると C:\Windows\System32\cscript.exe が上書きされてサイズゼロになってしまっています。 保護機能で復元されるような気もしますが、よくわかりません。 C:\Windows\System32\cscript.exe がサイズゼロになってしまっている場合は、再起動してみて、それでも駄目なら、システムの復元ですかね。

全文を見る
すると、全ての回答が全文表示されます。
  • notnot
  • ベストアンサー率47% (4852/10266)
回答No.2

タイプミスならいいのですが、作成するのはVBSファイルじゃなくて、BATファイルです。

kosamon
質問者

お礼

追記、自己レスです。 少し勘違いしているのでしょうか? もう一度NO1の回答をよく読み返しました。 (2)についてですが 作成したVBSがCドライブにある場合、コマンドプロンプトで c:\test.vbs とすると「コンパイルエラー、ステートメントがありません。」と返ってきます。 この確認方法は合っていますか? NO2で回答頂いた >作成するのはVBSファイルじゃなくて、BATファイルです。 はVBSファイルそのものの拡張子を変更させるのではなくて、そのファイルを起動するBATファイルを作成するということで宜しいでしょうか? 重ね重ねよろしくお願いします。

kosamon
質問者

補足

ありがとうございます。 引き続きよろしくお願いします。 >作成するのはVBSファイルじゃなくて、BATファイル 拡張子を変更しました。 拡張子を変更することで「右クリック」→「管理者として・・・」が表示されました。 やはり希望通りの動作をしていないようです。 BATファイルの中身は C:\>cscript.exe /nologo %WINDIR%\System32\Printing_Admin_Scripts\ja-JP\prnqctl.vbs -z -p "Brother DCP-J925N Printer" をtest.batとして作成しています。 先ほどこれを書きながらテストを繰り返し、ふと思いついて PAUSE を書き込んでみました。 すると C:\は内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。 と表示されていました。 やはり書き方にミスがありますでしょうか? 申し訳ありませんがもうしばらくお付き合いください。 よろしくお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。
  • kteds
  • ベストアンサー率42% (1876/4426)
回答No.1

次の2つとも試してみましたか。 (1) 「コマンドプロンプト」を右クリック -> 「管理者として実行」にて開いたコマンドプロンプトにてcscript.exeに続くパラメータを実行する。 (2) 作成したprnport.vbs をエクスプローラにて右クリック-> 「管理者として実行」にて実行する。 ---以上です。 管理者でログインしているから大丈夫、という理由で 「管理者として実行」していない場合は、更新処理が反映されないことがあります。

kosamon
質問者

補足

早々のご回答ありがとうございます。 (1)についてはすでに確認済みです。 希望どおりの動作をしています。 >(2) 作成したprnport.vbs をエクスプローラにて右クリック-> 「管理者として実行」 当方のテスト環境では「管理者として実行」が表示されません。 少しその辺りをもう少し調べてみます。(当方WIN7 STARTERです。) 作成したファイルの内容に問題が無かったということで一安心です。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • batからvbs起動

    バッチファイルからVBSファイルを起動したいと思いsample.batに以下の記述をしました。 「cscript //NoLogo "test1.vbs"」 するとプロンプト上に上記メッセージが繰り返し(無限ループ?)表示されてしまいます。 バッチからVBSファイルを起動するには何かコマンドが必要なのでしょうか?

  • バッチファイルの文字列をVBSに渡すには

    バッチファイルからVBSを実行しています。 echo msgbox "123" >> %TEMP%\abc.vbs cscript //NoLogo %TEMP%\abc.vbs >%TEMP%\abc.cmd del %TEMP%\abc.vbs call %TEMP%\abc.cmd del %TEMP%\abc.cmd このバッチを実行すると 123 が表示されます。 "123" の部分を変数として引渡したいのです。 set a=123 echo msgbox &a& >> %TEMP%\abc.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(入力表示なく、とまらない)

  • VBSでバッチパラメーターと同等のものは

    コマンドプロンプトの「%1」はバッチファイル実行時に付加された最初のパラメータを表します。 VBSでも同じような働きをさせたいのですが書き方がわかりません。 どうすればよいでしょうか。 なお、VBSの実行方法はあるVBSファイルに処理したいファイルをD&Dする事になります。

  • wsh(vbs)のデバッグについて

    MSのScriptDebuggerをインストールした後に コマンドプロンプトからオプションの //D を付けてスクリプトをキックしたのですが、普通にスクリプトが実行されるだけでデバッガが起動してくれません。どの様にしたらデバッガが起動するのでしょうか。MSのScriptDebuggerのページ等を参照しても原因が分からず困っています。 よろしくお願いいたします。 実行したコマンド:cscript ×××.vbs //D です。 WSHのバージョンは5.6、インストールしたデバッガのバージョンは1.0.7295のXP/2000用です。

  • vbsの保存方法が分からない

    Wscript.StdOut.Write "Height(m) = " H = WScript.StdIn.ReadLine Wscript.StdOut.Write "Weight(kg) = " W = WScript.StdIn.ReadLine BMI = W / (H * H) Wscript.StdOut.Write "BMI = " & BMI & vbLf BMIの上記コードをコマンドプロンプトで書き込み practice に保存しようとすると なぜか bmi とだけ表記されて本のような bmi.vbs にならない。 従い、これを cscript.bmi.vbs で実行しようとエンターすると スクリプト C: ¥practice¥bmi.vbs 行:1 文字:1 コード:80070006 ソース:(null) となり、実行できない。 practice に保存するとき、 ファイル名 の蘭に *.txt を消して bmi.vbs と記入している。これが間違いですか?

  • EVENTQUERY.VBSでエラー

    現在あるPC(WinXP)から他のPC(WinXP)のイベントビュアのログを テキストファイルなどに保存したいと思っています。 調べたところEVENTQUERY.VBSでそれが出来ることが分かりました、 こんな感じです >cscript eventquery.vbs /R 1000 /L System しかし、Win2000などのPCへはそのコマンドが実行できて正しくロ グが落ちるのですが、相手がWinXPだと エラー: システム名,資格情報および WBEM Coreを確認して下さい >cscript eventquery.vbs /S EtcPC /U EtcUid /P EtcPass /R 1000 /L System というメッセージが表示されコマンドを実行することが出来ません。 ユーザーIDやパスワードはもちろん他のPCにて存在し、現在ログイ ンされているIDを使用しています。 どなたか解決法がありましたらよろしくお願いします。

  • VBSで管理者モードのcmdにキーを送るには?

    お世話になります。 業務上の必要に迫られているため、質問させて頂きます。 恐縮ですが、ご存じの方、御教示頂けますでしょぅか? VBSでコマンドプロンプトを管理者モードで起動し、かつ、Robocopyコマンドをキー入力送信するVBSを作成したいのですが、上手く動きません。 ※コピーしたいのは、HOSTSファイルで、コマンドプロンプトで手入力すると正常に動作しますが、バッチファイル(.bat)に記述すると「アクセスが拒否されました」が発生するため、VBSでコマンドプロンプト上にキーを入力させたいというのが、主旨です。 以下スクリプトを記述しますが、解決策をご存じの方、教えて頂けないでしょうか? ※c:\temp\hostsにおいたものをコピーさせることにしています。 ------------------- // 管理者モードでコマンドプロンプト起動 Set obj = Wscript.CreateObject("Shell.Application") obj.ShellExecute "cmd.exe", "/k", "", "runas", 1 //robocopy 入力 Set objShell = WScript.CreateObject("WScript.Shell") WScript.Sleep 3000 objShell.SendKeys "robocopy /copy:DT /ZB /R:100 /W:2 /is /xjf c:\temp\hosts c:\windows\system32\drivers\etc hosts" objShell.SendKeys "{ENTER}" ------------------- ■実行結果:コマンドプロンプトは管理者モードで起動するが、文字は入力されない。 恐れ入りますが、何卒よろしくお願いいたします。

  • 改行コードについて vbNewLine

    windows2000,xpで以下のコマンドをリダイレクトして、 result.txtをバイナリエディタで開くと、コードが異なるのですが何故なのでしょうか? windows2000で行うと、0d0d0aとなり、xpで行うと、0d0aとなります。 いったいどうしてなのでしょうか?? sample.bat cscript //nologo sample.vbs >result.txt sample.vbs WScript.Echo vbNewLine

  • 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を使用したいのですが、可能でしょうか? このまま実行するとコマンドプロンプトの窓が開いて「ファイルが見つかりません」と表示されてしまいます。 何か方法があればご教授ください。よろしくお願いします。