배치 파일 위치를 미리 지정하지 않고 배치 스크립트 출력을 텍스트 파일로 덤프


11

이 방법으로 출력을 얻을 수 있음을 알고 있습니다 (표준 및 오류를 모두 캡처하기 위해).

[batchFilePath] > [logFilePath] 2>&1

또는 표준 출력의 경우이 방법 :

C:\MyBatchFile.bat > output.txt

그러나 배치 파일 자체의 위치를 ​​지정하지 않고이를 수행하는 방법이 있습니까?

예를 들어 C : \ MyFolder \ MyBatch.cmd를 실행 (두 번 클릭하여 실행)하고 배치 파일을 종료 한 후 (또는 완료 한) C : \ MyFolder \ MyBatch.txt에서 출력을 찾을 수 있다고 가정합니다.

그렇다면 배치 파일 자체에 어떤 코드를 포함시켜야합니까?

답변:


6

내가 생각할 수있는 유일한 해결책 >> output.txt은 모든 명령 끝에 배치 파일을 출력하는 것을 추가하는 것입니다. 마지막에 파일의 출력을 추가합니다output.txt

또는 내용이 될 두 번째 배치 파일을 만듭니다 .\MyBatchFile.bat > output.txt.


12

명령을 둥근 괄호로 묶습니다. MyBatchFile.bat:

@echo off
REM setlocal enabledelayedexpansion

(
  echo line one
  echo line two
  echo line three
) > "%~dpn0.txt"

대괄호 안의 변수 (는 발견 될 때 한 번에 모두 평가 됩니다. enabledelayedexpansion평가 지연에 사용 합니다.


1
감사합니다. 래퍼를 만들어야하는 번거 로움을
덜었습니다
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.