2

実行する必要のあるこのバッチがあり、ユーザーが実行する必要があり、単純なxmlファイルがコピーされます。ただし、Windows 2000/XPではすべて正常に動作します。ただし、Windows Vistaでは、「アクセスが拒否されました」というエラーが表示されます。

VistaでWindowsエクスプローラーを使用してファイルをコピーしようとしても、同じエラーが発生します。

このファイルをコピーするためにできることはありますか。このファイルのコピーを有効にするには、batファイルにコードを追加する必要がありますか?

どうもありがとう。

@ECHO OFF
REM copy config file to the windows/system32
copy config.xml c:\windows\system32\DataLinks.xml
4

3 に答える 3

5

あなたがwindows\system32を変更しようとしているからだと思います。Vista、7以降のバージョンのWindowsでは、system32を変更するために昇格された特権が必要です。

このファイルを本当にsystem32に入れる必要がありますか?任意の場所にある場合は、ユーザーのAppDataディレクトリ(%AppData%\ DataLinks.xml)にポップしてみませんか?

AppDataは、Windows 2000以降に存在する標準ディレクトリであり、ユーザーのDocuments and SettingsまたはUsersフォルダー(バージョンによって異なります)に隠されています。これは非表示ですがユーザーが編集可能なフォルダーであり、ユーザーがアクセスできる必要があるアプリケーション設定を対象としていますが、ほとんどの場合、コードでのみ使用されます。

于 2009-05-15T04:54:06.390 に答える
2
  1. %windir%\system32 にコピーするには昇格した特権が必要です
  2. 構成データを %windir% にまったくコピーしないでください。それはWindows用です。%AppData% を使用します。
  3. %windir% にコピーする場合は、%windir% 変数を使用し、パス C:\Windows をハードコーディングしないでください。
于 2009-05-15T05:02:10.320 に答える
0

JS 前髪は正しいです。%windir% 変数を使用します。これを行うと、ほとんどの場合、エラーは発生しません。

例:

@ECHO OFF
REM copy config file to the windows/system32
copy config.xml %windir%\system32\DataLinks.xml

しかし、あなたはいつですか?他のものに入れるだけです。すでに述べたAppDataのように:

@ECHO OFF
REM copy config file to the windows/system32
copy config.xml %appdata%\DataLinks.xml
于 2009-05-24T17:39:21.267 に答える