2014-11-11 4 views
1

Windows 배치 파일을 사용하여 Python 스크립트를 실행하고 있습니다. 코드는 아래와 같습니다.배치 파일을 사용하여 현재 폴더에서 스크립트를 실행하십시오.

start pythonw "C:\Users\XXX\Workplace\python_script.py" 

파이썬 스크립트의 경로가 절대 경로이므로 바람직하지 않습니다. 배치 파일과 python 스크립트를 같은 폴더에 저장한다고 가정합니다. 어떻게 든 배치 파일을 작성하여 현재 폴더를 감지하고 같은 폴더에있는 python 스크립트를 실행하는 방법?

감사합니다.

+0

@duDE : 정확합니다. 나는 파이썬 콘솔이 나타나기를 원하지 않는다. 그래서 저는 pythonw를 사용합니다. – user781486

답변

1

, 다음 pythonw경로에 있어야합니다. 그런 다음 같은 디렉토리에 yourbatch.bat 을 배치하면

은, yourbatch.bat 이 경로에 있습니다 그래서 당신이해야 할 것 모두가 yourbatch을 실행하고 일괄 것 것을 다음과 운영.

일괄 처리가 실행되는 디렉터리는 관련이 없습니다. 당신이

start "Window title" pythonw "python_script.py" 

에 배치를 변경하고 경로에 그 배치하면 다음 yourbatch은 현재 디렉토리에서 매개 변수 "python_script.py"를 사용하여 pythonw를 실행합니다.

참고 : start 명령은 첫 번째 인용 된 인수로 "창 제목"을 높이 평가합니다. 창 제목을 원하지 않습니까? ""을 사용해주세요.

당신이 어디에 있든 해당 스크립트를 실행해야합니다

start "Window title" pythonw "%~dp0\python_script.py" 

다음
yourbatch.bat과 같은 디렉토리에 파이썬 스크립트가있는 경우.

하고 somename이 인용 될 수있다

yourbatch somename 

을 실행하고 원하는 경로를 포함 할 수있는 경우

start "Window title" pythonw "%~1.py" 

스크립트 somename.py을 시작할 것 정말 유연한 접근 방식에 대한

(예를 들어 "c:\my development\area\latest_script" 등)

+0

감사합니다. 나는 네 답을 더 좋아한다. 나는 대답의 선택을 바꾸었다. – user781486

2

%~dp0을 사용하면 bat 파일이있는 폴더의 경로를 가져올 수 있습니다.

코드는 다음과 같습니다. 당신이 디렉토리를 지정하지 않고 pythonw을 실행할 수 있기 때문에

start pythonw "%~dp0\python_script.py" 
관련 문제