2009-06-30 77 views
0

我有一個文本文件,其中包含我需要創建的文件名列表,減去擴展名。我想要運行一個快速批處理文件命令或VBS腳本來遍歷列表,然後根據名稱創建一個文件。在批處理或VBS腳本中逐行讀取文本文件?

文本文件看起來是這樣的:

PRXI0000466 
PRXI0000564 
PRXI0000636 
PRXI0000681 
PRXI0001092 

所以我想遍歷每一行,然後做一個「echo . > %file%.txt」(假設%file%包含從文本文件中的行)。

任何人都可以告訴我一個快速的方法來做到這一點?

回答

5

好了,這是一個班輪在CMD:

for /f %i in (textfile.txt) do @echo . > %i.txt 

for /f環行明智hrough一個文本文件,並在做令牌化方式也是如此。幸運的是,你的線條中沒有空格,否則就會在那裏調用"delims="之類的東西。

這會在每個新文件的後面放一個包含點的單行。如果你只是想要一個空行,你必須使用echo.>%i.txt。如果您只想創建每個文件(UNIX極客可能只使用touch(1)),則可以使用copy NUL %i.txt。如果你想在批處理文件中使用它(而不是直接從命令行),那麼你必須使用%%i而不是%i

我覺得你真的想創建空文件,所以下面應該做的伎倆:

for /f %i in (textfile.txt) do @copy nul %i.txt 
5

你只是想創建空的文本文件?如果是這樣,這個.vbs腳本會做

Set fso = CreateObject("Scripting.FileSystemObject") 
Set listFile = fso.OpenTextFile("list.txt") 
do while not listFile.AtEndOfStream 
    fName = listFile.ReadLine() 
    fso.CreateTextFile(fName + ".txt") 
loop 
0

文本文件t.txt包含:

PRXI0000466 
PRXI0000564 
PRXI0000636 
PRXI0000681 
PRXI0001092 

這個循環應該解決您的問題。

for /f %%a in (t.txt) do %%a > %%a.txt 
相關問題