배치 파일이 포함된 내용과 다른 줄을 실행하는 이유는 무엇입니까?

배치 파일이 포함된 내용과 다른 줄을 실행하는 이유는 무엇입니까?

나는 이 줄을 bat 파일에 입력했습니다. (무엇이 입력되었는지 확인하기 위해 잠시 멈추세요)

    start my_program -m y -f %s_%d_fix -z n
    pause

결국 이걸 실행하게 돼

    start my_program -m y -f d_fix -z n

%s_% 부분이 제거되는 것을 볼 수 있듯이
%로 인해 줄이 다르게 읽혀졌는지 찾아보았지만 cmd를 입력하면
시작된 프로그램에 잘못된 인수가 표시됩니다. 이에 대해 어떻게 생각하시나요? 감사해요.

답변1

Windows Cmd 및 MS-DOS Command.com은 %환경 변수를 나타내는 데 사용됩니다. 귀하의 경우 %s_%변수 확장( s_변수 이름 역할을 함)으로 해석되어 빈 문자열로 확장됩니다.

부호를 변경하지 않고 유지하려면 %를 사용하십시오 %%s_%%d_fix.

관련 정보