2017-10-16 1 views
0

파일의 압축을 풀 수있는 배치 파일이 있습니다. 압축 파일과 대상 폴더의 경로는 하드 코드되어 있습니다. 다른 zip 파일을 다른 폴더에 압축을 풀고 싶습니다. 나는 항상 코드를 편집하고 싶지 않습니다, 제발 좀 도와주세요.배치 파일에 인수를 전달하는 방법

@echo off 
setlocal 
cd /d %~dp0 
Call :UnZipFile "G:\tett\" "G:\test\test.zip" 
pause 
exit /b 

이것은 내 배치 파일입니다. 여기서 소스와 대상의 경로를 제공하고 있습니다. 이 배치를 실행하기위한 인수로 소스와 대상을 전달하려고합니다. 미리 감사드립니다.

답변

1
Call :UnZipFile "%~1" "%~2" 

의 배치 파일에 공급되는 프롬프트에서, 그래서으로 :unzipfile 루틴 통과에게 두 개의 매개 변수를 호출,

yourbatchfile "매개" "매개"

는 두 개의 매개 변수를 받아 제공 할 것입니다 그 (것)들을 :unzipfile 루틴으로 보내십시오. 그들은 분리 라인 공간이 포함 된 경우

매개 변수는 "따옴표"가 필요

%~1는 (있는 경우) 첫 번째 매개 변수에서 둘러싸는 따옴표를 제거합니다.

을 당신이 추측 할 것 "을 의미 무엇 %~2 의미 ...

+0

고마워 @ 마구 – Madhuri

+0

잘 작동하지만, 같은 스크립트를 다시 실행하면 "파일이 이미 존재합니다."라는 메시지가 나타납니다. 교체가 필요하면 추가하고 싶은 항목 – Madhuri

+0

그게' : 당신이 보여주지 않은 unzipfile' 서브 루틴. – Magoo

관련 문제