我的.txt文件包含297行,我希望每一行都复制到新的.txt文件中,所以它将包含297个文件,对于文件名,每个文件都像这个line1.txt line2.txt line3.txt,它可以使用批处理吗?
我尝试在这里使用findrepl.bat和指令表单batch to copy FIRST line of multiple text files,但那只是第一行的脚本。
答案 0 :(得分:1)
FOR /F
是您想要的,使用SET /A
以数字方式递增变量。因为CMD / batch实际上只是一个假装成shell的穿孔卡读卡器,source_file.txt
的内容会导致脚本中断。特别是,如果它有任何特殊的shell字符(例如<>!“或&),shell会将它们解释为特殊字符,而不仅仅是将它们回显到输出文件。
SETLOCAL ENABLEDELAYEDEXPANSION
SET LINENO=1
FOR /F "delims=" %%l IN (source_file.txt) DO (
ECHO %%l>file!LINENO!.txt
SET /A LINENO=LINENO+1
)
答案 1 :(得分:0)
这应该拆分文件并为每一行创建单独的文件。
文件名将与每一行相同。
@echo off
for /f "delims=" %%a in (file.txt) do >>"%%a.txt" echo %%a
答案 2 :(得分:0)
setlocal enableextensions disabledelayedexpansion
for /f "usebackq tokens=1,* delims=:" %%a in (
'findstr /n "^" "file.txt"'
) do echo(%%b>line%%a.txt
endlocal