0

라이센스 파일을 복사하고 기존 폴더를 덮어 쓰고 싶습니다. 프로그램 파일 (x86)이기 때문에 권한 상승 셸셸을 실행해야합니다. 복사 할 수 있습니다. 나는 그것을 수동으로 시작하고, 한 번에 모든 행을 실행할 수 있는지 궁금한가요? 실제로 활용됨복사 항목 runas 관리자가 프로그램 파일을 실패했습니다

$net = new-object -ComObject WScript.Network 
$net.MapNetworkDrive("R:", "\\roa\smdd\Software\Mest", $false) 

Start-process Powershell.exe -ArgumentList " Copy-Item "R:\Licenses\" "C:\Program Files `(x86`)\Mest Research S.L\Mest\licenses"" -force -recurse -wait 
+0

왜 $ net 앞에 이스케이프 문자가 있습니까? 그 변수를 사용하지 않는다면 새 객체를 변수에 저장하는 것이 나중에 – ArcSet

+0

@ArcSet은 형식화 된 것처럼 보입니다. 그들은 코드 블록 전후에 백틱이 있기 때문에 포맷하는 법을 모르는 것처럼 보입니다. (나는 그것을 수정하기 위해 질문을 수정했다.) – TheMadTechnician

+0

내 파일을 올바른 형식으로 복사하는 동안 ArcSet에 "코드 추가"기능을 클릭하면 이스케이프 문자가 추가됩니다. – Mandy

답변

0

드라이브를 매핑하거나 powershell.exe을 호출 할 필요가 없습니다. 코드는 PowerShell이므로 Copy-Item cmdlet을 실행하여 파일을 복사하려면 PowerShell의 새 복사본을 만들 필요가 없습니다. 이 디렉토리에 항목을 복사 할 수 있도록 관리자로 PowerShell을 열어야 할 전망이다

Copy-Item "\\roa\smdd\Software\Mest\Licenses\*" "${Env:ProgramFiles(x86)}\Mest Research S.L\Mest\licenses" -Force -Recurse 

주 (상승) : 당신은 하나의 PowerShell 명령이 필요합니다.

+0

내게 "C : \ Mestrelab Research SL \ Mest \ Licenses 경로의 일부를 찾을 수 없습니다."라고 말하면 오류가 발생합니다. 복사 한 후 해결 방법이 있습니까? – Mandy

+0

환경 변수에'ProgramFiles ((이 변수는 32 비트 시스템에는 존재하지 않으므로 대신'ProgramFiles' 환경 변수를 사용해야합니다.) –

관련 문제