2014-12-09 5 views
1

"프로그램 파일"의 디렉터리에 일부 파일을 복사하는 IExpress EXE가 있지만 작동하도록 고심하고 있습니다. 지금까지 복사 할 파일이 하나 있고 .exe 파일에 하나의 .bat 파일이 있습니다.올바른 위치에 파일을 복사하도록 IExpress 가져 오기

mkdir C:\"Program Files"\HybRIDS 
C:\Windows\System32\xcopy %temp%\IXP000.TMP C:\"Program Files"\HybRIDS /i 

을하지만 EXE 파일을 실행 할 때 수행 : 나는 IExpress에 EXE의 추출물이 %\temp%\IXP000.TMP에 그 내용이 그래서는 .bat 파일에 다음을함으로써 내가 쉽게 Program Files 폴더에 파일을 복사 할 수 있다고 생각 것을 알고있다 내 프로그램 파일에는 아무 것도 없어요.

내가 뭘 잘못하고 있니?

+0

인가'%는 임시 %'정의? 또한 대상 폴더 전체에 따옴표를 넣으십시오. – SomethingDark

+0

아, 당황 스럽네요. 분명히 xcopy가이 Windows 상자에 없거나 어쨌든 경로에 없습니다. xcopy가 내부 또는 외부 명령, 작동 가능 프로그램 또는 배치 파일로 인식되지 않습니다. 아마 대신 사본을 사용해야합니다. – Ward9250

+0

어떤 운영 체제를 사용하고 있습니까? xcopy가 Robocopy에 찬성하여 수년간 사용되지 않았다고 들었지만 아직 가지고 있지 않은 Windows 버전에는 익숙하지 않습니다. – SomethingDark

답변

1

나는 \ IXP000.TMP

이 사실이 아닙니까 %의 \ temp %를로는 IExpress EXE의 추출물은 그 내용 것을 알고있다. temp의 하위 폴더로 추출합니다.

mkdir "%ProgramFiles%\HybRIDS" 
copy "%~dp0\IXP000.TMP" "%ProgramFiles%\HybRIDS" 

배치 파일의 끝에 pause을 넣습니다. 하위 폴더 (광산이 1 임)를 확인하기 위해 임시로 유지되며 오류 메시지가 표시됩니다. Echo이 해제되어 있는지 확인하십시오.

+0

사실 * is * true - IExpress는 '% temp % \ IXPnnn.TMP' (여기서 _nnn_는 보통 000이지만 추출되지 않은 디렉토리를 찾을 때까지 1 씩 증가합니다)로 추출합니다. – fission

1

임시 폴더를 직접 참조 할 필요가 없습니다. 당신이 테스트를 위해 sed를 구성 할 때

@echo off 
rem install.bat 
mkdir %ProgramFiles%\HybRIDS 
echo %ERRORLEVEL% created directory %ProgramFiles%\HybRIDS 
copy * C:\"Program Files"\HybRIDS 
echo %ERRORLEVEL% copied files 
del C:\"Program Files"\HybRIDS\install.bat 
echo %ERRORLEVEL% success? 

가 설치 ShowInstallProgramWindow=3을 극대화 할 수 있는지 확인하고 올바르게 설치 스크립트 AppLaunched=cmd /c install.bat을 설정 단지 현재 작업 디렉토리를 가정합니다. 또한 테스트 용으로 제안 된 BambiLongGone과 같은 배치 스크립트 끝에 pause 문을 추가하십시오. 당신은 질문이있는 경우에는 그냥 알려주세요 (설치 창이 ShowInstallProgramWindow=1을 숨겨 가정) 오류 처리에 대한 후속 형식

@echo off 
REM install.bat  
mkdir %ProgramFiles%\HybRIDS 
REM mkdir may fail because the folder already exists - ignore errors.  

move * %ProgramFiles%\HybRIDS > temp.txt 2>&1 
set i=%ERRORLEVEL% 
REM check for errors! 
if not %i%==0 (
    REM inform the user with a prompt (will not wait for it to close though...) 
    start cmd /c^ 
     echo error occured during installation^ 
&  type temp.txt^ 
&  echo what to do next...^ 
&  pause 
) 
REM don't keep the install and temp.txt file 
del %ProgramFiles%\install.bat 
del %ProgramFiles%\temp.txt 

을 사용했다.

0

이것은 완전한 답변이 아닙니다 (소유하고있는 것과는 달리). 하지만 IExpress 및 배치 파일에서 본 대부분의 오류는 cmd.exe이 아닌 직접 호출하는 사람들이 발생합니다.

당신처럼 실행하고 있는지 확인하십시오

cmd /c mybatch.bat 
관련 문제