2016-06-20 5 views
-1

나는 그 날을 확인할 간단한 배치 파일을 만들고, 그 날이 01이면 그 파일을 백업으로 옮길 것이다.else loop in batch

IF %day%==01(
move *.LST &dfs#\BackUp\ 
echo "Files moved successfully" 
)ELSE (
"Files will get deleted only on 1st day of the month" 
) 

그러나 오류 누군가가 확인하시기 바랍니다 수있다 "구문이 잘못"을 던지고 ..

+0

else 명령에 에코가 있습니다. 질문을 추가하는 중에 깜박했습니다. –

+0

그런 다음 질문의 [편집] (http://stackoverflow.com/posts/37922686/edit) 버튼을 클릭하고 코드를 수정하십시오! – aschipfl

+0

1. 일부 공백 문자는 '01'과 '(','')와''ELSE'사이에 있습니다. 2.'% day %'이 비어있을 때 문제가 발생하지 않도록하려면'IF "% day %"== "01"'이라고 써야합니다. 3. '이동'* .LST ""& dfs # \ BackUp \ "'와 같은 따옴표 사이에'move' 명령을 두어야합니다. 왜냐하면'&'는 명령 연결 연산자로 해석되기 때문입니다; 4. 당신은 또한 그들이 표시되기를 원하지 않는 한,'echo' 텍스트의 따옴표를 제거해야합니다 ... – aschipfl

답변

1

아마 % 일 %가 제대로 설정되지 않은,이 (백업 위치를 조정) 시도 :

@echo off 
if %date:~-2%==01 ( 
    move *.lst backup 
    echo files moved successfully 
) else (
    echo files will get deleted only on 1st day of the month 
) 
+0

작동, 나는 여전히 그 달의 날을 얻고 변수에 할당 한 것을 사용했다. 무엇이 잘못되었는지 모른다. –

+0

@BharathKumarReddy이 대답이 도움이된다면 줄 것이다. 그것 upvote. 그것이 완전한 답이라면 받아 들여야합니다. 그것이 사이트 작동 방식이며, 사용하고자하는 경우 작동 방식을 알아야합니다. –

+0

@PaulTomblin 내 잘못, 벌써 시도했지만, 나는 upvote에 대한 충분한 명성이 없다. –