[COMMAND]>[FILE]
초기 버전의 MS-DOS에서는 작동하지 않는 것 같습니다 . MS-DOS 1.25를 사용하고 있으며 위의 표현은 문장을 제공합니다 invalid argument
.
업데이트 : DOS 1.x에서 작동하지 않는 것이 사실이므로 가상 상자의 일부 기능을 사용하여 출력을 얻거나 일부 로그 파일에서 출력을 가져 오는 것이 가능합니다.
[COMMAND]>[FILE]
초기 버전의 MS-DOS에서는 작동하지 않는 것 같습니다 . MS-DOS 1.25를 사용하고 있으며 위의 표현은 문장을 제공합니다 invalid argument
.
업데이트 : DOS 1.x에서 작동하지 않는 것이 사실이므로 가상 상자의 일부 기능을 사용하여 출력을 얻거나 일부 로그 파일에서 출력을 가져 오는 것이 가능합니다.
답변:
가상 머신 디버깅 기능 (또는 gdb / 다른 것)을 사용하여 메모리를 직접 읽을 수 있습니다. ms-dos는 메모리 보호 기능도없고 멀티 태스킹 시스템도 아니므로 가상 시스템 메모리를 읽을 수 있으며 가상 시스템 vga를 입력하여 읽을 수 있습니다.
문서 에 명령이 있다고 말합니다
info vgatext -- print the contents of the VGA framebuffer formatted as standard text mode
출력을 얻는 올바른 구문은 VirtualBox --debug --startvm msdos1.25
다음과 같습니다. run 다음 디버거 콘솔에서
info vgatext
복사하여 붙여 넣은 출력 :
The COMPAQ Personal Computer DOS
Version 1.11
(C) Copyright COMPAQ Computer Corp. 1982
(C) Copyright Microsoft 1981, 82
A>
--------------------------------------------------------------------------------
VBoxDbg>
따라서 프로그램이 출력 될 때 프로그램의 메모리 내부의 메모리 값에 연결하고 vga 화면을 덤프하는 디버거 스크립트를 작성할 수 있습니다. CPU 실행
조사 할 몇 가지 옵션은 다음과 같습니다.
응용 프로그램의 메모리 내용을 덤프하기위한 디버깅 스크립트를 작성하는 방법 찾기
quemu / dosbox / virtualbox에 대한 디버깅 vga 드라이버 / 직렬 포트 / 메모리 덤핑 솔루션 찾기
누군가 가이 목적으로 다시 쓴 80 년대의 오래된 유틸리티 프로그램을 찾으십시오.
여기에 freedos 태그를 추가하십시오 (또는 큰 stackoverflow에 대한 귀하의 질문을 옮기거나 반복하기도합니다).
흥미로운 것을 발견하면 나중에 업데이트하지만 1.25를 사용하는 이유에 대한 세부 정보를 알려 주시겠습니까?이 프로그램이 최신 버전의 msdos에서 작동합니까? 작은 비용 으로이 프로그램을 최신 버전으로 패치하거나 파일 형식을 asm으로 추가하려는 젊은 어셈블리 해커를 찾을 수 있습니다.
info vgatext
작동합니다. 디버거를위한 올바른 스크립트를 작성하는 것입니다.
MS-DOS 1.25를 사용하고 있으며 위의 표현식에 잘못된 인수가 표시됩니다.
맞아요. v1.25에서는 수행하려는 작업이 불가능합니다.
v2.0에서는 다른 많은 개선 사항과 함께 명령 리디렉션이 추가되었습니다.
MS-DOS 버전 2.0 (PC-DOS 2.0과 동일)은 1983 년 3 월에 처음 릴리스되었습니다. 새로운 운영 체제였습니다 (MS-DOS 버전 1과의 호환성을 유지하기 위해 많은주의를 기울 였음). 여기에는 다음 페이지에 나열된 기능을 포함하여 많은 중요한 혁신과 향상된 기능이 포함되어 있습니다.
- 대용량 플로피 디스크 및 하드 디스크 모두 지원
- 계층 적 파일 구조, 파일 핸들, I / O 리디렉션, 파이프 및 필터를 포함한 많은 UNIX / XENIX 유사 기능
- 백그라운드 인쇄 (인쇄 스풀링)
- 볼륨 레이블 및 추가 파일 속성
- 설치 가능한 장치 드라이버
- 추가 장치 드라이버로드, 시스템 디스크 버퍼 수 등을 제어하는 사용자 정의 가능한 시스템 구성 파일
- 프로그램간에 정보를 전달하는 데 사용할 수있는 환경 블록 유지 보수
- 하드웨어 독립적 인 방식으로 프로그램이 커서 위치를 지정하고 디스플레이 특성을 제어 할 수있는 옵션 ANSI 디스플레이 드라이버
- 응용 프로그램에 의한 메모리의 동적 할당, 수정 및 해제 지원
- 맞춤형 사용자 명령 해석기 (쉘) 지원
- 응용 프로그램 소프트웨어가 통화, 시간 및 날짜 형식을 수정하는 데 도움이되는 시스템 테이블 (국제 지원)
Ray Duncan의 소스 고급 MS-DOS 프로그래밍
가능한 해결 방법은 화면을 텍스트로 캡처하고 출력을 구문 분석하는 것입니다.
이 질문에 대한 답변 DOS의 화면 캡처에는 조사를 시작하는 일부 TSR (Terminate but Stay Resident) 프로그램이 나열되어 있습니다.
C를 설치하고 프로그램을 작성하여 dos 명령을 가져 와서 쉘에서 실행하고 결과를 기록 할 수 있습니다. Borland Turbo C 2.01을 사용하는 것이 좋습니다. 코드를 작성하려는 경우 Quickbasic로 코드를 작성할 수도 있습니다 ... ;-)
https://archive.org/details/msdos_borland_turbo_c_2.01
개인적으로, 나는 당신이 얻을 몇 가지 추가 사항이 있다고 DOS 5.5 또는 6을 사용합니다.