2013-10-24 2 views
5

배치 파일을 사용하여 COM 포트에서 데이터를 자동으로 검색하려고합니다.배치 파일을 사용하여 COM 포트에서 데이터 검색

com 포트를 구성하고 다른 장치에서 명령을 보내면 내 장치에 정보를 요청할 수 있습니다.

문제는 기기에서 보내는 데이터를 캡처 할 수 없다는 것입니다. 나는 RealTerm으로 시도하고 장치가 작동하고 PC에 다시 정보를 전송한다,하지만 난 정말 자동으로 수행하는 배치 파일이 필요합니다, 여기에 코드입니다 :

echo off 

MODE COMxx ... 

COPY retrievecommand.txt \\\\.\COMxx: 

COPY \\\\.\COMxx: data.txt 

어떤 제안이?

+0

[형식 COMxx] –

+2

[배치 파일을 사용하여 COM 포트에서 데이터를 읽는 방법]을 복제 할 수 있습니까? (http://stackoverflow.com/questions/3923894/how-to-read-data-from-com- 포트 사용 배치 파일) – peet

답변

0

읽을 때 COPY 명령은 파일 끝을 감지 할 때까지 계속됩니다. 소스는 잠재적으로 무한한 스트림이있는 장치이기 때문에 파일 마커의 끝을 감지하면 중지됩니다. 이것은 Ctrl-Z (0x1A) 문자입니다.

TYPE 명령을 사용하여 중복 질문을하면 같은 문제가 발생할 수 있습니다.

한 줄을 읽는 표준 메커니즘이 없습니다. 응용 프로그램을 PowerShell로 이식 할 수 있으면 예상 한 결과가있는 한 줄을 읽을 수 있어야합니다.

1

DOS 레이블에 DOS GOTO 명령을 사용하여 재귀 루프에서 TYPE 명령을 사용하십시오. TYPE COM1과 같은 텍스트를 캡처하려면 '추가 출력'을 사용하십시오. >> Data.txt double>은 Data.txt를 연속적으로 연결 (또는 추가)하는 것을 의미합니다. 단일> 또는 '리다이렉트 출력'은 매 루프마다 Data.txt의 텍스트를 대체합니다 (포트에 com 데이터가있는 경우). 모니터 화면으로 리디렉션되는 두 번째 라인을 추가하여 활동을 볼 수도 있습니다 (예 : TYPE COM1 :> CON [콘솔 또는 모니터 화면을 의미하지만 콘솔은 기본값이므로 콘솔을 생략 할 수 있습니다])

Control-Z는 TYPE 명령은 필요하지 않습니다. 작업자가 Control-C를 수행 한 다음 루프를 중단 할 때까지 텍스트를 계속 덤프합니다. 배치 파일을 모두 함께 사용하지 않으면 실제로 루프를 멈출 필요가 없습니다. Data.txt 파일은 다른 프로그램에서 사용할 수 있으며이 배치 파일이 계속 반복되는 동안 NOTEPAD.EXE와 같은 다른 프로그램에 액세스하려고하면 '공유 위반'이 표시되지 않습니다.

또한 TYPE COM1 :> Data1.txt [한 번의 리디렉션 만 알림] 배치 파일에서 세 번째 줄을 만들면 다음 반복으로 사라질 인스턴트 텍스트 한 줄을 갖게됩니다. 그러나 때로는 한 줄의 데이터 만 필요하면 도움이됩니다. DOS FIND 명령을 사용하여 한 줄의 데이터를 다른 텍스트 파일로 추출하는 창의적인 방법이 있습니다.

관련 문제