배치파일

배치파일
nsis를 이용하여 패키지를 만들다보니 CUDA 관련하여 빠진 파일들이 문제가 되서 bat 파일을 이용하여 copy하려고 한다.

배치(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%

댓글

가장 많이 본 글