배치 파일에 전달되는 두 개의 매개 변수를 읽고 싶습니다. 배치 파일은 CreateProcess 메소드를 사용하여 C++ 프로그램에서 실행됩니다. 배치 파일의 두 번째 매개 변수는 폴더 경로이므로 "E : \ test folder \ test2"와 같은 두 번째 매개 변수를 전달하는 경우 프로그램에서 배치 파일이 실행되지 않습니다.배치 파일 내에서 여러 인수를 구문 분석합니다.
그러나 대신 E : \ test folder \ test2를 전달하면 배치 파일이 실행되지만 분명히 두 번째 매개 변수의 값은 E : \ test뿐입니다. 따라서 첫 번째 매개 변수는 다음을 사용하여 읽는 것입니다. % 1을 사용하고 나머지 내용을 다른 변수로 가져옵니다.
나는 이것을 어떻게 달성 할 수 있는지 말해 줄 수 있습니까? % *로 시도했지만 첫 번째와 두 번째 매개 변수를 모두 제공합니다. 나는 변수의 나머지 내용을 가질 수 있도록 공백이있는 첫 번째 토큰을 구분 기호로 제거하려고합니다. 이것을 할 수있는 방법이 있습니까?
예를 들어 나는 TEST.BAT testparameter1 전자를 전달하는 경우 : \ 테스트 폴더 \ 테스트 Folder2 폴더의 \ 테스트 나는 값 E 읽고 싶은 FOLDER3
: 변수에 \ 테스트 폴더 \ 테스트 Folder2 폴더의 \ 테스트 FOLDER3에게. 내가 TEST.BAT testparameter1의 E 전달하는 경우
는 다음 valueIi 배치 파일 내부의 변수에 읽고 싶은 folderY \ 테스트 \ 테스트 folderX의 \ 테스트를 E입니다 : \ 테스트 \ 테스트 folderX \ 테스트 folderY
수 누군가 날 도와 줘? 미리 감사드립니다.
전체 CreateProcess 문을 표시 할 수 있습니까? 나는 당신의 두번째 주장 주위에 따옴표가 이스케이프되어야한다고 생각합니다. – dbenham