2014-02-25 81 views
-1

我有.txt文件包含297行,我希望每一行復制到新的.txt文件,所以它將包含297文件,每個文件的文件名像這樣line1.txt line2.txt line3.txt,可以使用批處理?批處理文件複製.txt文件中的每一行然後創建新的.txt文件的每一行

我已經嘗試在這裏使用findrepl.bat和指令形式batch to copy FIRST line of multiple text files但這只是第一行的腳本。

+4

請自便。這個網站不是免費的代碼工廠,你有沒有努力去解決這個問題? – Blorgbeard

+2

免費提示:'for /?' – Blorgbeard

+1

你到目前爲止嘗試過什麼?另外,請記住Windows對文件名有限制長度和特定字符(例如「\」)。也許有更好的方法來完成任何你想要完成的任務。 – mbroshi

回答

0

這應該拆分一個文件併爲每一行創建單獨的文件。

文件名將與每行相同。

@echo off 
for /f "delims=" %%a in (file.txt) do >>"%%a.txt" echo %%a 
1

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 
) 
0
setlocal enableextensions disabledelayedexpansion 
for /f "usebackq tokens=1,* delims=:" %%a in (
    'findstr /n "^" "file.txt"' 
) do echo(%%b>line%%a.txt 
endlocal 
相關問題