2012-05-07 8 views

답변

4
@echo off 
setlocal enableDelayedExpansion 
set "var=" 
for /f "usebackq" %%A in ("test.txt") do set var=!var!%%A 
echo !var! 

편집 나는 "END"물리적 파일에 존재하지 않는 가정
. 존재하는 경우 FOR 문 뒤에 다음 행을 추가하여 마지막 3자를 제거 할 수 있습니다.

set "!var!=!var:~0,-3!" 
+0

나는 이것을 시도하고! var! 결국 모든 문자 조합 대신 파일의 마지막 문자가되었습니다. – Bynari

+0

그리고 예, END는 파일의 일부가 아니며 누군가가 편집 한 것처럼 보입니다. – Bynari

+0

@ 스 태 츠레 : 내 것이되어야합니다. 그 것처럼 인상을 남겼습니다. 그래서 다시 포맷 할 때 다른 줄을 포함 시켰습니다. 혼란에 대해 죄송합니다. –

1

또는, 당신은 단지 (어떤 목적을 위해 메모리에 저장 반대) 파일로 결과를 넣어하려는 경우, 당신은 같은 것을 할 수있는 :

@ECHO OFF 
TYPE NUL >output.txt 
FOR /F %%L IN (input.txt) DO (
    IF NOT "%%L" == "END" (<NUL >>output.txt SET /P "=%%L") 
) 
ECHO.>>output.txt 

마지막 명령을 선의 끝에서 선의 끝 기호가 필요한지 여부에 따라 필요하지 않을 수 있습니다.

관련 문제