다중 파일 입력 일괄 개행 제거

다중 파일 입력 일괄 개행 제거

스크립트를 변경하려고 합니다. 에 줄을 추가하는 대신 디렉터리 내부의 file.txt모든 파일에 대해 해당 줄을 추가하고 싶습니다 . *.txt이 스크립트는 새 줄을 제거하고 구분할 쉼표를 추가합니다.

도움을 주시면 감사하겠습니다.

@echo off
setlocal EnableDelayedExpansion

set "line="


for /F "delims=" %%a in (inputfile.txt) do set "line=!line!,%%a"

echo !line:~1!>>outputfile.txt

사용하려는 내 입력 파일은 아래 CSV입니다. 2019-05-29 08:03:48,TiltA,3.420,19.9,0.5017,0.6903 2019-05-29 09:03:48,TiltB,3.420,19.9,0.3017,0.6903 2019-05-29 08:03:48 ,TiltC,3.420,19.9,0.5017,0.6903 2019-05-29 09:03:48,TiltD,3.420,19.9,0.3017,0.6903 2019-05-29 08:03:48,TiltE,3.420,19.9,0.5017,0 .6903

답변1

설명해 주셔서 감사합니다! 이렇게 하면 올바른 방향으로 갈 수 있습니다.

@echo off

set "dir=C:\Your\Directory"
set "dirs=C:\Your\Output\Folder"

setlocal enabledelayedexpansion
for /r "%dir%" %%A in (*.txt) do (
    set "new=%%~nA"
    if exist "%dirs%\!new!.txt" del /f /q "%dirs%\!new!.txt"
    for /f %%B in (%%A) do (
        echo|set /p="%%B,"
    ) >> "%dirs%\!new!.txt"
)

소스 txt 파일을 덮어쓰려는 것이 아니라면 다른 출력 폴더를 사용하는 것이 좋습니다. 그래서 이것이 제가 생각해낸 것입니다. 첫 번째 루프는 지정된 디렉토리( )에 있는 모든 txt 파일을 살펴보고 for /r %dir%각 파일의 이름을 변수로 설정합니다 new. 그 직후 new출력 디렉터리에 해당 txt 파일이 있는지 확인하고 삭제합니다. 이전 항목을 모두 덮어쓰므 로 한 줄에 >>모든 매개 변수를 출력 해야 하기 때문에 이는 중요한 단계입니다. 이전에 스크립트를 실행하여 생성된 잠재적인 txt 파일을 삭제하지 않으면 해당 줄의 항목이 중복됩니다. 그 작업이 처리된 후에는 텍스트 파일에서 정보를 가져와 각각 을 . 이 기본 스크립트에는 제거하고 싶지 않을 수도 있고 제거하고 싶지 않을 수도 있는 후행이 있을 것입니다 . 그렇지 않으면 이것이 여러분이 찾고 있는 것을 성취할 것이라고 믿습니다.%%B>newecho|set /p%%B,,

관련 정보