가능한 간단한 상황 (솔루션이 아직 알려지지 않은 경우)에서 도움을 요청하고 싶습니다.일괄 스크립트에서 FOR주기의 IF 비교 연산자 대체
"동적"코드를 만들기 위해 if 명령에 대한 변수를 제공하려고하지만이 경우 다음과 같은 이유로 실패합니다. %이 시점에서 예기치 않게 발생했습니다. 여기
는 대한 간단한 예입니다 :> for %i in (NEQ) do (if 1 %i 2 echo jo)
%i was unexpected at this time.
동안 마법처럼 다음 작품 :
>set oper=NEQ
>for %i in (NEQ) do (if 1 %oper% 2 echo works)
works
나는 for 루프를 유지해야한다 (그리고 나는에서 실제 운영자를 얻을으로 루프에 대한 실제 코드), 난 정말 그것을 해결하는 방법에 붙어있다 ...
뿐만 아니라,하지만 EnableDelayedExpansion과 함께 놀려고 했어! 변수! 연산자 대신에 거부됩니다. 스크립트에 큰 수정을하지 않고 IF 용 변수를 FOR 루프에 제출하는 방법이 있습니까?
정보를 제공해 주셔서 감사합니다. 나는 권고 된 함수 메소드를 사용하려고 노력할 것이다. 다시 한번 감사한다. (첫 번째 코드가 작동하는지 확실하지 않으면 4 행에서 실패하고 5 행으로 진행할 수 없습니다 .4 행을 벗어나면 5 행이 실패합니다.) – user2039632
예, 4 행 및 5 행은 둘 다 구문 오류를 생성하므로 작업하십시오. IF 파서는'! myOperator! '나'%% O'를 처리 할 수 없으므로 에러를 던집니다. – jeb
원본 코드를 크게 변경하지 않기 위해 (내가 공유 한 것은 원래 코드를 단순화하여 내 문제를 나타냄) 다른 FOR 명령을 사용하도록 수정했습니다.예를 들면 다음과 같습니다 : (NEQ) do ( )에 대한 for % i do (echo works works) ) ' – user2039632