2017-12-12 27 views
1

System Exec.vi를 사용하여 LabVIEW를 통해 배치 파일을 실행할 때 두 개의 cmd 창이 나타납니다. 두 번째 파일은 배치 파일의 명령을 실행 한 후 닫히고 첫 번째 파일은 닫히지 않습니다. this solution을 사용하려고했지만 작동하지 않습니다. 첫 번째 cmd를 닫을 방법이 있습니까?LabVIEW 코드 실행 후 cmd를 닫는 방법

LabVIEW code to run external .batch file

cmd windows

P.S. LabVIEW를 통해 배치 파일을 실행하지 않고 두 번 클릭하면 실행 후 두 개의 cmd 창이 닫힙니다.

+1

왜 'start' 명령을 사용합니까? 배치 파일 경로를 자체 인수로 제공하는 이유는 무엇입니까 ("System Exec.vi"에 전달 된 최종 빌드 명령 줄을 확인하십시오)? 그것들을 바꾸고 싶지 않다면'^ & exit'을 명령 줄에 추가해보십시오 ... – aschipfl

+0

친애하는 @aschipfl 답장을 보내 주셔서 감사합니다. 실제로 이것은 [이 링크] (https://forums.ni.com/t5/LabVIEW/how-to-run-exe-file-by-labview/)에 따라 System Exec.vi를 사용하여 외부 파일을 실행하는 방법입니다. mp/303952/highlight/true # M158352) (WNM의 의견보기) – Henrik

답변

0

말하기 어렵지만 그 링크에서 주어진 지시 사항을 잘못 이해했다고 생각합니다. 배치 파일은 실행 파일과 옵션을 포함해야하지만 배치 파일을 System Exec VI에 전달하면됩니다. 여기에서 무슨 일이 벌어지고 있는지 추측하고 있는데 배치 파일이 두 번 호출되는 것입니다. 첫 번째 호출이 의존하는 일부 프로세스는 두 번째 호출에 의해 도용 당해서 프로세스가 종료되면 두 번째 호출이 알림을 받고 중지되지만 첫 번째 통화는 걸려 있습니다. 아니면 그런 식으로.

+0

감사합니다. 필자는 배치 파일의 경로를 시스템에 전달하지 않고 배치 파일을 실행하도록 시스템에 알립니다. 다른 작업이라고 생각합니다. 그리고 나는 이미 해결책을 찾았으므로 [cmd/x/r start "% s" "% s"] 다음에 "^ & exit"를 써야합니다. "% s"는 배치 파일 경로입니다. LabVIEW를 통해 외부 파일을 실행할 수있는 다른 방법이 있습니까? 그렇다면 정보에 공유하는 것이 좋습니다. – Henrik

+0

알았습니다. 다행히 기쁘게 생각합니다! 나는 그것을 할 수있는 또 다른 방법이 있다고 말하고 싶지만 항상 System Exec을 사용했기 때문에 확실하지 않습니다. – kmc

+0

"<배치 파일 경로> \ sp_svc.bat.bat"의 명령 줄 만 입력하면됩니다. "cmd.exe"밖으로 둡니다. – srm