이 스크립트는 내가 원하는 작업을 수행합니다. 즉, 명시된 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>