관리자로 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를 사용해 보세요.

또는 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 스위치도 있습니다.

관련 정보