배치파일
nsis를 이용하여 패키지를 만들다보니 CUDA 관련하여 빠진 파일들이 문제가 되서 bat 파일을 이용하여 copy하려고 한다.
단, 경로에 공백이 있을 경우 큰따옴표로 묶어야 한다.
환경변수에
라고 되어있으면 bat파일에서
또는
배치(batch) 파일이란?
윈도우에서 사용되는 명령어를 가지고 일괄적으로 실행할 수 있게 만든 파일이다.주석
REM을 붙인다.출력
echo 출력할 문장경로 설정(환경 변수 설정)
set OUT_BIN_R=out-aview\Bin-x64
set CUDA_PATH_V9_2="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\bin"
set 명령어를 써서 경로를 설정한다.(현재 셀 환경에서만 설정)단, 경로에 공백이 있을 경우 큰따옴표로 묶어야 한다.
환경변수에
CUDA_PATH_V9_2 : C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2라고 되어있으면 bat파일에서
%CUDA_PATH_V9_2%를 가져다 사용하면 된다.복사
copy %CUDA_PATH_V9_2%\bin\cu*.dll %OUT_BIN_R%
이런식으로 작성하면 된다.또는
copy /y %CUDA_PATH_V9_2%\bin\cu*.dll %OUT_BIN_R%
/y : 이미 있는 대상 파일을 덮어쓸지를 확인하지 않는다.작업하다 path는 맞는데 복사를 못하는 일이 일어났다.
윈도우 환경변수인 경우 큰따옴표로 묶어주어야 한다.copy "%CUDA_PATH_V9_2%"\bin\cu*.dll %OUT_BIN_R%
만약에 다른 곳에서도 윈도우 환경변수를 사용한다면 아래와 같이 해주면 된다.set ENV_CUDA="%CUDA_PATH_V9_2%"
copy %ENV_CUDA%\bin\cu*.dll %OUT_BIN_R%
댓글
댓글 쓰기