현재 디렉터리에 공백이 포함된 경우 파일의 일괄 처리에서 EXIST 사용

현재 디렉터리에 공백이 포함된 경우 파일의 일괄 처리에서 EXIST 사용

여러 디렉터리에서 작동해야 하는 배치 파일이 있습니다.

"folder.jpg"라는 파일을 찾아야 합니다. 존재하는 경우 이를 사용해야 합니다. 존재하지 않는 경우 "front.jpg"를 사용하여 "cover.jpg"에 복사해야 합니다. 간단하게 들리네요.

문제는 내 디렉터리에 공백( - )이 포함되어 있다는 것입니다.

다음 배치 파일에서 오류가 발생합니다. 누구든지 "EXISTS" 배치 명령과 함께 사용할 수 있는 파일 이름을 얻는 방법을 알려줄 수 있나요?

나는 또한 "./folder.jpg"를 시도했지만 성공하지 못했습니다.

@echo off

set file=%CD%\folder.jpg
set

if exists %file% goto FOLDER

:FRONT
@echo ** copy front.jpg to cover.jpg
copy front.jpg cover.jpg
goto PROCESS

:FOLDER
@echo ** rename folder.jpg to cover.jpg
ren folder.jpg cover.jpg


:PROCESS
@echo ** call dpi
call dpi
@echo ** call size
call size

미리 감사드립니다!

답변1

주요 문제는 구문이IF EXIST 파일 이름(즉, 's'가 없습니다). 파일 및 폴더 이름에 공백이 있으면 따옴표를 사용하십시오.

set file="%CD%\folder.jpg"
if exist %file% goto FOLDER

또는...

set file=%CD%\folder.jpg
if exist "%file%" goto FOLDER

set또한 세 번째 코드 줄에 기본 명령이 포함되기를 정말로 원하셨나요 ? 그 자체로는 조금 외로워 보입니다.

마지막으로 스크립트 시작 부분에 기호를 추가하면 모든 명령 시작 부분에 기호를 @echo off넣을 필요가 없습니다 .@echo

관련 정보