我希望有人能帮助解决这个问题。所以 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 开关,它等待进程完成。