2012-11-23 2 views
1

자동 압축 풀림 보관 파일을 만들 예정이지만 추출의 기본 경로에 연결하는 데 문제가 있습니다. 자동 압축 풀림 보관 프로그램과 동일한 경로에서 파일을 추출하고 싶습니다. 아쉽게도 다른 경로 (C : \ Users \ computer \ AppData \ Temp \ IXP000.TMP)에서 파일이 추출됩니다. 경로를 설정할 수 있습니까?Iexpress - 추출 경로

답변

4

직접 IExpress를 사용하면 찾을 수 없지만 적용 할 수있는 트릭이 있습니다.

하지만 처음에는 7-Zip7zCon.sfx 모듈 (이 경우 현재 디렉토리에 압축을 푸는 것 외에는 질문이 필요하지 않습니다.)과 같이하면 쉽습니다. 그래서 당신은 단지 IExpress 이외의 다른 것을 시도하기를 원할 것입니다.

어쨌든 IExpress의 문제는 설치 프로그램이 실행될 때 더 이상 원래 보관 파일의 디렉터리에 없습니다. 현재 디렉토리는 %temp%\IXP000.TMP과 같습니다. 그래서 부모 프로세스의 디렉토리를 찾아야합니다. 고통의 종류. 알려진 바가 있으면의 내용을 대상 폴더에 보관할 수 있습니다. VBScript로

, 그것은 다음과 같이 보일 것입니다 :
Option Explicit 

Dim objShell, objWMI 
Dim objCmd, intMyPid, intMyParentPid, objMyParent 

Set objShell = CreateObject("WScript.Shell") 
Set objWMI = GetObject("winmgmts:root\cimv2") 

Set objCmd = objShell.Exec("cmd.exe") 
intMyPid = objWMI.Get("Win32_Process.Handle='" & objCmd.ProcessID & "'").ParentProcessId 
objCmd.Terminate 

intMyParentPid = objWMI.Get("Win32_Process.Handle='" & intMyPid & "'").ParentProcessId 
Set objMyParent = objWMI.Get("Win32_Process.Handle='" & intMyParentPid & "'") 

objShell.Run "xcopy /y * " & """" & Left(objMyParent.ExecutablePath, _ 
    InStrRev(objMyParent.ExecutablePath, ".exe", -1, vbTextCompare) -1) &_ 
    "\""", 0, True 

귀하의 예를 들어, 다음 될 프로그램를 설치 wscript extractToOriginalLocation.vbs //B.

(다소 this question에 대한 답변으로 영감을 얻었습니다.)