1

我对 bat 非常基础,需要帮助执行一个脚本,该脚本将多个 txt 文件的行连接到一行和一个文件中。例如:这些是文件:

W7BR71754L.txt

Relatório de Hardware:
Nome:W7BR71754L
S.O.:Microsoft Windows 7 Professional 
Usuário:GMEA\SESA197328
Serial:5CB2204XTP

W7BR71760L.txt

Relatório de Hardware:
Nome:W7BR71760L
S.O.:Microsoft Windows 7 Professional 
Usuário:GMEA\SESA97408
Serial:5CB2190BPX

新文件.txt

Relatório de Hardware:;Nome:W7BR71754L;S.O.:Microsoft Windows 7 Professional ;Usuário:GMEA\SESA197328;Serial:5CB2204XTP;
Relatório de Hardware:;Nome:W7BR71760L;S.O.:Microsoft Windows 7 Professional ;Usuário:GMEA\SESA97408;Serial:5CB2190BPX;

这是我正在做的事情,但它并没有完全满足我的需要......

@echo off
setlocal EnableDelayedExpansion
set "text="
for /r %%G in (*.txt) do (call :sub "%%G")
:sub
for /f "tokens=*" %%a in (%1) do (
 set "text=!text!%%a"
)
>>newFile.txt echo !text!;
4

1 回答 1

1

您快到了,它只是将新行放入您需要添加的文件中。

这会将所有文件文本连接到一个文件中 - 每个文件的内容由一行分隔。

setlocal enabledelayedexpansion
set text=
for /r %%a in (*.txt) do (
for /f "tokens=* delims=" %%x in (%%a) do (
set text=!text!%%x
)
echo !text! >>newfile.txt
set text=
)
于 2013-01-03T16:20:32.090 回答