WMIC 출력 결과 - 빈 줄을 제거하시겠습니까?

WMIC 출력 결과 - 빈 줄을 제거하시겠습니까?

이 스크립트는 내가 원하는 작업을 수행합니다. 즉, 명시된 txt 파일에 결과를 생성하는 것입니다.

(@for /F "delims=" %I in ('wmic path Win32_VideoController get DriverVersion /VALUE') do @for /F "tokens=1* delims==" %J in ("%I") do @echo/%K) > "C:\Users\Public\AppData\Roaming\GPU\DriverVersion.txt"

그러나 결과 하단에 빈 줄을 추가하는 것 같습니다. 이 txt의 줄 수 결과가 매우 중요하므로 이런 일이 발생하지 않도록 할 수 있는 방법이 있습니까?

답변1

결과 하단에 추가 빈 줄이 없습니다(다음을 사용하여 증명됨).findstr.exe):

d:\bat> (@for /F "delims=" %I in ('wmic path Win32_VideoController get DriverVersion /VALUE') do @for /F "tokens=1* delims==" %J in ("%I") do @echo/%K) > DriverVersion.txt

d:\bat> findstr /N "^" DriverVersion.txt
1:23.21.13.8813

d:\bat> findstr /N "$" DriverVersion.txt
1:23.21.13.8813

그러나 다음과 같이 결과 하단에 빈 줄을 추가할 수 있습니다.

d:\bat> echo(>> DriverVersion.txt

d:\bat> findstr /N "^" DriverVersion.txt
1:23.21.13.8813
2:

d:\bat> findstr /N "$" DriverVersion.txt
1:23.21.13.8813
2:

스위치 의 의미를 참고하세요 /N.

  • /N 일치하는 각 줄 앞에 줄 번호를 인쇄하세요.

및 검색 패턴:

  • ^ 줄 위치: 줄의 시작
  • $ 줄 위치: 줄 끝

또한보십시오Windows 배치: 새 줄 없이 에코: <nul set /p =%K대신 사용하세요 echo/%K.

d:\bat> (@for /F "delims=" %I in ('wmic path Win32_VideoController get DriverVersion /VALUE') do @for /F "tokens=1* delims==" %J in ("%I") do @<nul set /p =%K) > DriverVersion.txt

d:\bat> findstr /N "^" DriverVersion.txt
1:23.21.13.8813
d:\bat> findstr /N "$" DriverVersion.txt

d:\bat>

관련 정보