2012-02-16 2 views
0

문제는 복사 된 원본이 아니라 원래의 beamthemup2.bat 파일을 호출한다는 것입니다.다른 폴더를 복사 한 후 잘못된 배치 파일 실행

@ECHO OFF 
for /d %%X in (*) do (
    copy "beamthemup2.bat" "%%X" 
    @echo "%%X\beamthemup2.bat" 
    pause 
    call "%%X\beamthemup2.bat" 
) 

UPDATE

이 두 번째 박쥐 파일입니다. 올바른 배치 파일을 복사하는 것 같습니다. 그래도 문제가 있습니다. 위의 배치 파일을 처음 실행할 때 % cd %는 첫 번째 배치 파일의 경로를 반환하지만 복사 할 폴더에서 두 번째 파일을 실행하면 % cd %가 올바른 폴더를 반환합니다.

@ECHO OFF 
for /r %%X in (*) do (

    "c:\Program Files\7-Zip\7z.exe" a -tzip "%cd%" "%%X" 
    @ECHO %cd% 
    pause 

) 

답변

3

현재 작업 디렉토리는 여전히 첫 번째 배치 파일을 시작한 디렉토리입니다. 두 번째 배치 파일을 실행해도 작업 디렉토리는 변경되지 않습니다.

두 번째 배치 파일 (@ECHO OFF 이후)에 cd %~dp0을 추가하십시오. 배치 파일이 들어있는 디렉토리로 이동합니다.

+0

그 덕분에 도움을 주셔서 감사합니다. – bounce

+1

좋아요! 적절한 경우 답변을 승인 된 것으로 표시하십시오. 감사. – Nomad101

관련 문제