
여러 디렉터리에서 작동해야 하는 배치 파일이 있습니다.
"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