• 締切済み

windows8でのバッチの動き

利用者(クライアント)のwindows8.1マシン(エディションは様々。また、32bitも64bitも有り)の Program FilesにインストールされたAというプログラムの中にあるBフォルダの配下の prod.infというファイルのみを私が用意したprod.infに置き換えたいと考え、 hogehogeというファイルサーバのhoge というフォルダに私が用意したprod.infを置いておき、それを利用者のパソコンの中の C:\Program Files\A\Bの配下にあるprod.inf に対して上書きさせたいと考えております。 そこで copy \\hogehoge\hoge\prod.inf %UserProfile%\Desktop\prod.inf /Y copy %UserProfile%\Desktop\prod.inf C:\Program Files\A\B\prod.inf /Y というバッチを作ったところ、 ファイルサーバから利用者のデスクトップに prod.infがコピーされるところまではうまくいった(1行目のみうまく動いた) のですが、2行目がエラーが出るわけでもなく、しかしprod.inf は 上書きされておりませんでした。 ちなみにこの利用者のPCのデスクトップに置いたprod.infを 手でC:\Program Files\A\B\prod.inf にコピーした場合はコピー時に表示されたダイアログで 「ファイルを置き換える」を選択すると、 「対象のフォルダーへのアクセスは拒否されました。」 「このフォーだーへ移動するには管理者の権限が必要です」と出て、 「続行」を押すと上書きが完了します。 #もちろん管理者権限のあるユーザでPCにログインして作業しています。 このことから、何か別の管理者の権限を付与する必要があるのだと思います。 同様のことをwindows7で行う時はvbsファイルを用意して(VBScriptを用いて) 管理者権限に昇格させておりましたが、windows8ではできず… ここで躓いてしまいました。 お知恵をお貸し頂けましたら幸いです。 どうぞ宜しくお願い致します。

みんなの回答

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

No.2の追記画像です。

i1z2u3m4i
質問者

お礼

追記画像も頂き、ありがとうございます。 分かりやすいよう、丁寧にご説明頂き、 ありがとうございます!! まだやりたいことができてはおりませんが、 もう少し頑張ってみます。 取り急ぎ、追記画像を頂いた御礼の書込をさせて頂きました。

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

No.1の補足です。 「最上位の特権で実行する」タスクを作成してWクリックすればいいです。 バッチファイルを実行していることと同じ処理になります。 「最上位の特権で実行する」設定は添付画像参照。 実行プログラムはNo.3に画像を添付します。 「参照」ボタンを押して、任意のscriptや実行プログラムを指定してください。

i1z2u3m4i
質問者

お礼

さっそくに補足を頂きありがとうございます!! 土日でwindows8環境が手元になかったため、御礼が遅くなり申し訳ございません。 さっそく本日試してみました。 タスクに「最上位の特権で実行する」というものがあることを 初めて知りました。 勉強になりました。ありがとうございます。 もう1点お教えください。 タスクはユーザに配布できるのでしょうか? 配布する対象者はは windowsVista/7/8/8.1 のため、タスクを作成する際に 条件の分岐をさせる必要があるかと思いましたが、 お教え頂いた 構成:windows8.1 で作成した後、どのようにすればよいか 今日一日調べたのですがわからず… タスクの実行時に使うユーザーアカウントも 複数の利用者のユーザアカウントは 勝手気ままに作られているので 特定できないため、「%UserProfile%」のように 書けばなんとかできないかと思い試したものの 見つけることができず… 勉強不足で申し訳ございません。 もし可能であればもう少しお知恵を 頂けましたら幸いです。 どうぞ宜しくお願い致します。

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

次の方法ではどうでしょうか。 方法1と方法2は、たどる方法が異なりますが、行なっていることは同じことです。 方法1 スタートメニューで cmd と入力して、表示された「コマンドプロンプト」を右クリック -> 「管理者として実行」 を実行 -> コマンド入力画面で xxx.vbs を実行。 xxx.vbsはフルpathで入力してください。 添付画像参照。 方法2 デスクトップにて「スタート」アイコンを右クリック ->表示されたメニューの 「コマンドプロンプト(管理者)」をクリック -> コマンド入力画面で xxx.vbs を実行。 xxx.vbsはフルpathで入力してください。

i1z2u3m4i
質問者

お礼

さっそくの書込ありがとうございます! コマンドプロンプトの管理者として実行、も 考えたのですが、Windows8.1の利用者に 方法1でご提案頂いた方法を案内致しましたところ 「そんな難しいことを言われても分からない。今までみたいにWクリックでぱぱっと できるようにして欲しい。」 と言われてしまい、バッチファイルかvbsでなんとかしようと四苦八苦している次第でして 昨日からずっと調べて、試して、を一人で続けていてうまくいかずぐったりしておりましたので、 今日質問を書込させて頂いて、今日中に回答の書込をして頂けて 心強くとてもありがたいです。 ちなみに今試しておりましたのが、ネットでVBSを開くだけで必ず「管理者として実行」になる、 という記事から引用させて頂いた ------------------------------------------------------- Function runasCheck() Dim strScriptPathName Dim flgRunasMode Dim objWMI, osInfo, flag, objShell, os Dim strArgs Dim args Set args = WScript.Arguments flgRunasMode = False strArgs = "" ' フラグの取得 If args.Count > 0 Then If UCase(args.item(0)) = "/RUNAS" Then flgRunasMode = True End If strArgs = strArgs & " " & args.item(0) End If Set objWMI = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2") Set osInfo = objWMI.ExecQuery("SELECT * FROM Win32_OperatingSystem") flag = false For Each os in osInfo If Left(os.Version, 3) >= 6.0 Then flag = True End If Next Set objShell = CreateObject("Shell.Application") If flgRunasMode = False Then If flag = True Then objShell.ShellExecute "wscript.exe", """" & WScript.ScriptFullName & """" & " /RUNAS " & strArgs, _ "", "runas", 1 Wscript.Quit End If End If End Function Call runasCheck() ------------------------------------------------ を試して、うまくいかなかったところです。 引き続きご負担でなければどうぞ宜しくお願い致します。

関連するQ&A

  • Windows8 管理者権限

    windows8.1でローカルユーザの権限がアドミニストレータになっており、 UACも通知しないに設定したのですが、ファイルをCドライブの配下にコピーしようとすると 「このフォルダへコピーするには管理者権限が必要です」が表示されます。 コマンドプロンプトから net user administrator /active:yes を実行し、administratorを有効後、administratorでログインすると メッセージは表示されませんが、ローカルのユーザでログインすると やっぱり、管理者権限が必要ですと表示されます。 セキュリティうんぬんの話はさておき、このメッセージを出さずに 常に管理者権限で利用するにはどうすれば良いでしょうか?

  • Windows8.1のProgram Files

    Windows8.1のProgram Filesのテキストファイルを編集して、移動させると不思議な挙動をします。 ・適当な場所で作成した設定ファイル=テキストファイルをProgram Filesに入れて、管理者権限で変更を加えて保存します。 ・保存した設定ファイルを参照するプログラムからファイルを見ても変更が反映されていません。古い情報が見えています。しかし、再度テキストエディタで開くと変更は間違いなく入っていて保存もされています。 ・試しに変更したテキストファイルをデスクトップなどの別のフォルダに取り出してテキストエディタで開くと、編集前の状態に戻ります。ファイルは移動させただけなのですが。 ・さらに、取り出したファイルをProgram Filesに戻すと、また変更後の状態になります。ファイルは移動させただけです。何も編集しなくても見える値がフォルダの場所によって違う2種類の値を持つファイルになったのです。 いったい何が起きているのでしょうか?挙動が凄く気持ち悪くて、何かのスパイウェアにでも盗聴されているのかと疑ってしまいます。 ファイルを移動させるだけで、編集前の状態になったり、編集後の状態になったり。 Program Filesフォルダのファイルを直接編集すると、こういう挙動になることは普通のことなのでしょうか? この現象についてご存知の方がいましたら、教えていただけると助かります。

  • Microsoft Office

    AさんのパソコンのProgram Filesにある「Microsoft Office」をBさんのパソコンへ上書きしてしまうと一体どんな弊害が起こるのでしょうか? ちなみにAさんの方が新しいファイルです。

  • Eudora4.2Jで添付ファイルが直接開けなくなった

    WinXP Pro で Eudora4.2Jを利用しています。 先日、XPをSP2→SP3へUpdateしたのですが、この時から、 メールの本文上で添付ファイルをクリックすると 以下のメッセージが表示されファイルが開けなくなりました。 c:\program%20files\eudora\attach\hogehoge.xls が見つかりません … 問題は、[program files]の半角スペースが"%20"に変換されていること だと思うのですが、何をしたからこうなったのか良く分かりません。 XPをSP3へUpdateする際に、IE7もインストールしてしまったことが 原因かもしれないとは思っていますが、本当にそうなのかどうか 分かりません。 解決策がありましたらご教示願えませんか? ちなみに、 c:\program files\eudora\attach\ 配下には、きちんと保存されていて、 エクスプローラ上でそのファイルをクリックすれば、当然開くことが できます。 よろしくお願いします。

  • バッチファイルでプログラムを起動

    バッチファイルで複数のプログラムを一括で起動したいのですが、このプログラムは標準権限で実行、このプログラムは管理者として実行、というように指定するにはどうしたら良いですか?

  • ccleaner バッチファイル

    win7 x64, 下記bat fileを実行すると、ccleaner が起動します。 ----A ところが、次のwisecare365.exe も起動します。 -----B つまり、2つ起動します。x64 PC共通です。 win7 x86 や xp では、A 終了後、Bが起動します。 問い合わせ内容: 2つ起動しない様にする方法を教えてください。 ccleanerが終了後、wisecare365が起動する様にしたい。 test.bat "D:\Program Files\CCleaner\CCleaner.exe" "D:\Program Files\Wise\Wise Care 365\WiseCare365.exe"

  • phpで別のファイルの変数に代入する方法

    ちょっとややこしくなりますが、よろしくお願いします。 [a.php]と[b.php]というファイルを用意します。 [a.php] ------------------ <?php echo $hogehoge ; ?> ------------------ [b.php] ------------------ <?php $hogehoge = 'hogehoge' ; require('a.php') ; ?> ------------------ という風にして結果を ------------------ hogehoge ------------------ としたいのですが、他のファイルを呼び出す時に変数を指定するにはどうしたら良いのでしょうか。 また、その際に気をつけなければならないことがあれば教えて下さい。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • Windows8で権限の制限をなくす

    Windows8を使っていると システムフォルダ内にファイルをコピーしようとすると 「管理者の権限が必要です」 と言われます。 続行を押せばコピーをすることができます。 システムフォルダ内にwinrarを使ってファイルを展開しようとすると 拒否されてしまいます。 そのため、一度異なるフォルダに展開した後にコピーする必要があります。 右クリックして「管理者としてこのプログラムを実行する」をチェックしなければ実行できないプログラムもあります。 大した手間ではないのですが こうした権限関係の制限をなくすことってできないのでしょうか?

  • バッチファイル XCOPYで上書きしない

    バッチファイルでXCOPYを実行し既存ファイルを上書きしないようにしたい(上書き確認を自動でNo返答する)さらに、存在しないファイルはコピーしたい ●構成 ・C:\test\A\A.txt がある ・バッチファイルと同列に、A\A.txt 及び B.txt が存在  さらにバッチファイルと同列に、からフォルダB が存在 ●試したコマンド: XCOPY * C:\test /E /-Y /Q < nul > nul ●結果:C:\test\A\A.txt は上書きされないが、B.txt 及びフォルダBがコピーされない ●求める結果: C:\test\A\A.txt は上書きされず、コピー先に存在しないB.txt 及びフォルダBがコピーしたい 宜しくお願いいたします。

  • バッチファイル ショートカットをコピーする。

    こんにちは、 リモートコンピュータ上にショートカットを作るバッチファイルを作りたいと考えています。 以下に環境と行いたい事を書きますので、何かお分かりの方がいましたら教えてください。よろしくお願いします。 環境 PC01:Windows2000 PC02:WindowsXP Pc01にコピーするファイルを用意(c:\aに用意) c:\aの中: 「\test.exe」アプリケーション 「\test.exeのショートカット」 1.Pc02の\C:\Program Filesに 「\test.exe」アプリケーションをコピー 2.C:\Documents and Settings\All Users\スタート メニュー\プログラムに 「\test.exeのショートカット」をコピーしたい。 1.は分かるのですが、2.が分かりません。