2013-05-30 5 views
0

폴더 (A 폴더라고 가정)에 있고 다른 디렉토리에있는 다른 배치 (batch2 가정)를 시작하도록 프로그래밍 된 배치 파일 (batch1 가정)을 작성했습니다 (폴더 비). Batch2는 파일을 추출하도록 프로그램되어 있습니다 (폴더 A와 B 모두에있는 xyz.tar라고 가정). 그러나 내가 batch1을 시작하면 batch2가 시작되지만 batch2는 B가 아닌 폴더 A에서 파일을 추출합니다. 아래 예제는 이해하는 데 도움이 될 수 있습니다.
내 배치 파일은 다음과 같습니다. 배치 파일을 사용하여 배치 파일 시작

:: batch1

ECHO This is batch1 
"D:\folder B\batch2.bat" 

:: batch2

ECHO This is batch2 
7z.exe x xyz.tar >nul 

폴더 A는시키면서 batch1.bat 및 xyz.tar이 포함되어 있습니다.

폴더 B에는 batch2.bat 및 xyz.tar가 있습니다.

batch2 시작하지만 폴더 A를에있는 파일을 추출 시작하지만 그것은 당신의 batch2.bat의 시작에서 폴더 B.

답변

2

의 xyz.tar를 추출한다, 후 @echo off/setlocal 시도

cd /d "%~dp0" 
+1

작은 편집 :

같은 뭔가를하려고합니다. 뒤에 오는 % 기호를 제거하고 % ~ dp0을 따옴표로 묶으십시오. – foxidrive

1

올바른 위치에서 추출하려면 작업 폴더를 변경해야한다고 생각합니다.

cd "d:\folder B" 
batch2.bat 
관련 문제