管理者として bat ファイルを実行 != 管理者として CMD を実行し、行ごとに実行します

管理者として bat ファイルを実行 != 管理者として CMD を実行し、行ごとに実行します

誰かがこの問題を解決してくれることを願っています。Win10 x64 です。

1 つの XPI ファイル (Firefox 拡張機能) を Program Files (x86 ではない) サブフォルダーにコピーする必要があります。単純な bat ファイルを作成し、右クリックして管理者として実行すると、mkdir は正常に機能しますが、コピー操作は機能しません。代わりに、管理者として cmd を開き、そこからコピー操作を実行すると、mkdir とコピー操作の両方が期待どおりに機能します。

昇格された権限を持つサードパーティ ソフトウェアから BAT を呼び出す必要があるため、最初のシナリオを解決できれば、問題を解決できるはずです。どのような助けや説明でも大歓迎です。コードは非常にシンプルです。

mkdir "C:\Program Files\Mozilla Firefox\distribution\extensions"
copy file.xpi "C:\Program Files\Mozilla Firefox\distribution\extensions"

前もって感謝します。

答え1

copy の代わりに xcopy を使用してみてください。

あるいは、PowerShell の使用を検討しましたか?

これははるかに強力で、プロセスPowershell を使用して実行ポリシーをバイパスすることもできます。

Set-Executionpolicy Bypass -Scope Process -Force

次に、PowerShellでプログラムをコピーします。

xcopy /q <source> <destination>

それでもうまくいかない場合は、Start-Process PowerShell コマンドに xcopy コマンドを追加してみてください。次のようなコマンドです...

Start-Process -FilePath "c:\Windows\System32\xcopy.exe" -ArgumentList "file.xpi  C:\Program Files\Mozilla Firefox\distribution\extensions\" -Credential domain\user

あるいは、domain\user は computername\user になります。

Start-Process には、プロセスが完了するまで待機する -Wait スイッチもあることに注意してください。

関連情報