我有.txt文件包含297行,我希望每一行復制到新的.txt文件,所以它將包含297文件,每個文件的文件名像這樣line1.txt line2.txt line3.txt,可以使用批處理?批處理文件複製.txt文件中的每一行然後創建新的.txt文件的每一行
我已經嘗試在這裏使用findrepl.bat和指令形式batch to copy FIRST line of multiple text files但這只是第一行的腳本。
我有.txt文件包含297行,我希望每一行復制到新的.txt文件,所以它將包含297文件,每個文件的文件名像這樣line1.txt line2.txt line3.txt,可以使用批處理?批處理文件複製.txt文件中的每一行然後創建新的.txt文件的每一行
我已經嘗試在這裏使用findrepl.bat和指令形式batch to copy FIRST line of multiple text files但這只是第一行的腳本。
這應該拆分一個文件併爲每一行創建單獨的文件。
文件名將與每行相同。
@echo off
for /f "delims=" %%a in (file.txt) do >>"%%a.txt" echo %%a
FOR /F
是你想要的,使用的SET /A
以數字遞增的變量。因爲CMD /批處理實際上只是假裝成shell的打卡讀卡器,所以source_file.txt
的內容可能導致腳本中斷。特別是,如果有任何特殊的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
)
setlocal enableextensions disabledelayedexpansion
for /f "usebackq tokens=1,* delims=:" %%a in (
'findstr /n "^" "file.txt"'
) do echo(%%b>line%%a.txt
endlocal
請自便。這個網站不是免費的代碼工廠,你有沒有努力去解決這個問題? – Blorgbeard
免費提示:'for /?' – Blorgbeard
你到目前爲止嘗試過什麼?另外,請記住Windows對文件名有限制長度和特定字符(例如「\」)。也許有更好的方法來完成任何你想要完成的任務。 – mbroshi