파일이 비어 있는지 확인해야합니다. 파일이 비어 있으면 무언가를하십시오; 그렇지 않으면 다른 것을하십시오.줄을 건너 뛰는 방법/if 문을 여러 개 실행하는 경우 if 문을 실행하고 나머지는 건너 뛰는 방법
이 목표를 달성하기 위해 if 문 안에서 for 문을 사용합니다. 그런데 스크립트 작성 방법은 파일이 비어 있지 않은 경우에만 작동합니다.
문제점 : test.txt 파일 안에 데이터가 없으면 배치 파일에 fault와 : true가 모두 표시됩니다. 나는 "skip = 5"로 실제 조건을 건너 뛰려고했으나 실패했다. 나는 스킵 문을 잘못 작성했다고 생각했다.
내가 원하는 것 : test.txt에 데이터가 있으면 : true가 실행됩니다. test.txt에 데이터가 없으면 : fault가 실행됩니다. 에코 문은 오류 조건 또는 : 참 조건 후에 실행됩니다.
for %%f in (test*.txt) do
if %%~zf EQU 0 goto fault
if %%~zf NEQ 0 goto true
:fault
Copy C:\Main\Test\final*.txt C:\Main\Test\final\* /y
REM Goto skip =5
:true
Copy C:\Main\Test\final*.txt C:\Main\Test\final\* /y
Copy C:\Main\Test\semfinal*.txt C:\Main\Test\semfinal\* /y
echo....
echo....
자세한 설명은 npocmaka에 감사드립니다. & if 문에 대해 조사했을 때, 어떤 사람들은 else 문을 사용할 수 없다고 말했습니다. else 문을 사용할 수 없을 때 조언 해 주시겠습니까? – baciyan
if else 문을 시도했지만 시스템이 내부에서 아무 것도 읽지 않습니다. 이유가 무엇인지에 대해 알고 있습니까? – baciyan
시스템은 if 문을 읽을 것입니다. 그저 if 문을 썼을 때만 가능합니다. 이유에 대해 조언 해 주시겠습니까? 공백이나 새 줄이 내 스크립트를 일괄 처리합니까? – baciyan