기본적으로 환경 변수가 설정되어 있는지 확인한 다음 설정하려고하는 간단한 간단한 배치 파일이 있습니다. 그 변수를 올바르게 설정하지, 그리고 내가 꽤 쓰고 스크립트에 대한 몇 가지 일반적인 질문을 가지고 일반적으로 배치 파일에 새로운 있습니다. 모든 통찰력은 인정 될 것이다. 여기에 내가 가진 질문들이있다.Windows 배치의 스크립팅
- 15 번 줄에서 디렉토리의 전체 이름을 모른다면 어떻게됩니까? 즉, 내가 '휘파람'이 그 일부 였음을 알고, 그것이 DIR인지 아닌지를 확인하고 싶다면?
- 16과 19 번 줄에서 필자는 'whistle-1.0.0'에 속한다면 BELFRAMEWORK_HOME 변수가 그 위의 1 디렉토리로 설정되어야한다는 것을 알고 있습니다. 나는 '% DIR % .. \'을 사용하여이 작업을 시도하지만 이것은 아무 효과가없는 것 같습니다. BELFRAMEWORK_HOME을 'whistle-1.0.0'위의 1 디렉토리로 설정하려면 어떻게해야합니까?
- 17 및 20 행에서 BELFRAMEWORK_HOME 변수가 인쇄되지 않습니다. 이유를 이해하지 못합니다. 왜냐하면 변수가 예상대로 변하는 줄 10과 12와 같은 형식이기 때문입니다. 왜 BELFRAMEWORK_HOME이 울리지 않습니까?
- 마지막으로,이 유형의 스크립팅에 대해 더 배우기위한 온라인 자료가 있습니까?
고마워요!
[email protected] off
2
3if not defined JAVA_OPTS (
4 set JAVA_OPTS=-Xmx1024m -Dderby.stream.error.field=org.openbel.framework.common.enums.DatabaseType.NULL_OUTPUT_STREAM
5) else (
6 set JAVA_OPTS=%JAVA_OPTS% -Dderby.stream.error.field=org.openbel.framework.common.enums.DatabaseType.NULL_OUTPUT_STREAM
7)
8
9set DIR=%CD%
10echo "DIR/CD : %DIR%"
11set DIR=%~dp0
12echo "DIR/~dp0 : %DIR%"
13
14if not defined BELFRAMEWORK_HOME (
15 if "%DIR%"=="whistle-1.0.0" (
16 set BELFRAMEWORK_HOME=%DIR%\..\
17 echo "DIR == whistle, BELFRAMEWORK_HOME is now: %BELFRAMEWORK_HOME%"
18 ) else (
19 set BELFRAMEWORK_HOME=%DIR%\..\
20 echo "DIR != whistle, BELFRAMEWORK_HOME is now: %BELFRAMEWORK_HOME%"
21 )
22)
23
24set WHISTLE_HOME=%~dp0
25java %JAVA_OPTS% -jar %WHISTLE_HOME%\whistle-1.0.0.jar %*
고마워요! 나는 배치 파일을 작동시킬 수있을뿐만 아니라이 스크립트에서 무슨 일이 일어나고 있는지 더 잘 이해하고있는 것처럼 합법적으로 느낀다. 훌륭한 참고 자료들도 많이 읽으겠습니다. 내가 네가 네 체크 마크를 줄 수 있다면 :) – Houdini