以管理员身份运行 bat 文件!= 以管理员身份运行 CMD 并逐行执行

以管理员身份运行 bat 文件!= 以管理员身份运行 CMD 并逐行执行

我希望有人能帮助解决这个问题。所以 Win10 x64。

我需要将一个 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

尝试使用 xcopy 而不是 copy。

或者您是否考虑过使用 powershell?

它的功能更加强大,您可以为过程。您还可以使用 Powershell 绕过执行策略。

Set-Executionpolicy Bypass -Scope Process -Force

然后你可以使用以下方法在 powershell 中复制程序

xcopy /q <source> <destination>

如果这不起作用,请尝试将 xcopy 命令放入 Start-Process powershell 命令中。例如...

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

或者域\用户将是计算机名\用户

请注意,Start-Process 还具有 -Wait 开关,它等待进程完成。

相关内容