はじめまして。
以下の処理を行うWSHを作成しているのですが、うまくいきません。色々Webも調べたのですが解決策が見あたらないためどなたかご教授いただければ幸いです。詳細は以下です。
■作成したいWSHの詳細
1. hostsファイルに特定の内容を追記する
2. 作成済みのバッチファイルを「AllUsersのスタートアップ」フォルダにコピーする
3. Windows2000、XP、Vista で実行して同じ結果が得られるようにする
4. VistaでUACが有効な状態でも動作するようにする
上記の条件1,2,3はクリアできたのですが条件4だけどうしてもクリアできません。下記ページにてスクリプト中に管理者権限に昇格する方法を
見つけ早速実行したところ、hostsファイルの書き換えはできるようになったものの、「AllUsersのスタートアップ」フォルダへのコピーに失敗してしまいます。
◆参考ページ
http://ebi.dyndns.biz/diary/20080813.html
ちなみに「ファイルが見つかりません」というエラーが表示されます。ただ、UACを無効にした状態でVBSファイルを実行するとコピーは成功するので構文は間違っていないと考えております。UACを有効にした状態で、「AllUsersのスタートアップ」フォルダにファイルをコピーするにはどのようにしたらよろしいのでしょうか。どなたか助けていただければ幸いです。よろしくお願いします。
No.1ベストアンサー
- 回答日時:
昇格に興味がありましたので試してみました。
結果として、WSH CopyFileで指定するパスはVistaとXPとで共通化できていませんが、VistaでAll Usersのスタートアップにバッチファイルをコピーすることはできました。下記の三つのファイルを、各ファイル先頭のコメントのファイル名で作成しました。RunAs.vbsを実行してUACを許可すればCopied.batがコピーされます。
VistaのAll Usersのスタートアップのパスは、エクスプローラのShift+右クリックで現れるメニュー[パスとしてコピー]で調べました。UACの有効/無効で変わることはないように思いますが…。
Vista Ultimate SP1 と XP Pro SP3 で確認しました。
-----
rem C:\test\Copied.bat
echo Copied bat
pause
-----
'C:\test\CopyBat.vbs
Set FSO = CreateObject("Scripting.FileSystemObject")
'Vistaで成功
FSO.CopyFile "C:\test\Copied.bat", _
"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup\"
'XPで成功
'FSO.CopyFile "C:\test\Copied.bat", _
' "C:\Documents and Settings\All Users\スタート メニュー\プログラム\'スタートアップ\"
WScript.echo "Copy Done"
-----
'C:\test\RunAs.vbs
Set sha=CreateObject("Shell.Application")
sha.ShellExecute "wscript.exe", "C:\test\CopyBat.vbs vista", "","runas"
-----
しばらくPCが使えなかったのでお礼が遅くなり申し訳ありません。
いただいた回答をヒントにやってみたところできました。
原因はコピー元パスをフルパスで指定していなかったことでした。
コピーするファイルはスクリプトファイルと同じフォルダにあるので、
ファイル名のみ記述していましたが、UACが有効だと管理者権限の
昇格が行われ、その関係でカレントディレクトリが変わるため
フルパスでないと認識されなかったようです。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/21 09:42
- Visual Basic(VBA) エクセルのマクロについて教えてください 物件ごとのフォルダを作成してます そのフォルダ内にサブフォル 2 2023/07/02 17:58
- Excel(エクセル) 1つのファイルを3つのフォルダにファイル名を【明日の日付】にして、コピーをしたい 2 2022/12/21 17:43
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/26 17:13
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- Excel(エクセル) 【マクロ】エラーが発生⇒実行時エラー58既に同名のファイルが存在 5 2022/08/31 10:03
- WordPress(ワードプレス) Wordpress 複数プラグインの不具合? 1 2022/10/09 21:52
- グループウェア 一太郎がイントラで開けません。対処方法を知りたいです。 3 2023/04/04 13:30
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/24 08:33
- Excel(エクセル) ファイル一覧表を使ったファイルの移動 5 2022/08/10 15:37
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
簡単なexeファイルの作り方。
-
VB6でExcelシートのコピー、貼付け
-
Excel ハイパーリンク設定につ...
-
ファイルをコピーできない
-
マインクラフトPCをプレイしよ...
-
SDカードにファイルをコピーで...
-
エクセルのマクロについて教え...
-
AVIUTlって iPadでも使えますか?
-
ExeclVBAユーザーフォームから...
-
同じファイル名 上書きしないフ...
-
【VBA】フォルダ内の全てのテキ...
-
Gitについて質問。 クローンし...
-
エクセル2010、図が大きすぎま...
-
アクセス クエリを別のファイ...
-
エクセルで複数のコメントのサ...
-
現在のブックを閉じないで、マ...
-
ページの複製はどうすればいい...
-
frxファイルの役目
-
指定した時間になったらファイ...
-
xcopyでのバッチコピー方法でコ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで複数のコメントのサ...
-
バッチファイル XCOPYで上書き...
-
frxファイルの役目
-
エクセルVBAで開いているファイ...
-
エクセルのハイパーリンクがコ...
-
バッチファイル 別ファイルにリ...
-
[エクセル]コピーするとオブジ...
-
Vba初心者です。下記のコード助...
-
ファイルサーバ上のファイルが...
-
Gitについて質問。 クローンし...
-
エクセル2010、図が大きすぎま...
-
バッチファイルのコピーで
-
現在のブックを閉じないで、マ...
-
エクセルのマクロについて教え...
-
vbsでExcelのシートをコピーす...
-
同じファイル名 上書きしないフ...
-
アクセス クエリを別のファイ...
-
マインクラフトPCをプレイしよ...
-
xcopyでのバッチコピー方法でコ...
-
開いている別のファイルにExcel...
おすすめ情報