Vbscript 在批处理或VBS脚本中逐行读取文本文件?

Vbscript 在批处理或VBS脚本中逐行读取文本文件?,vbscript,batch-file,loops,Vbscript,Batch File,Loops,我有一个文本文件,其中包含一个文件名列表,减去我需要创建的扩展名。我想运行一个快速批处理文件命令或VBS脚本,它将遍历列表,然后根据名称创建一个文件 文本文件如下所示: PRXI0000466 PRXI0000564 PRXI0000636 PRXI0000681 PRXI0001092 所以我想循环每一行,然后做一个“echo.>%file%.txt”(假设%file%包含文本文件中的行) 有人能告诉我一个快速的方法吗?你只是想创建空的文本文件吗?如果是这样,则此.vbs脚本将完成此操作 S

我有一个文本文件,其中包含一个文件名列表,减去我需要创建的扩展名。我想运行一个快速批处理文件命令或VBS脚本,它将遍历列表,然后根据名称创建一个文件

文本文件如下所示:

PRXI0000466
PRXI0000564
PRXI0000636
PRXI0000681
PRXI0001092
所以我想循环每一行,然后做一个“
echo.>%file%.txt
”(假设
%file%
包含文本文件中的行)


有人能告诉我一个快速的方法吗?

你只是想创建空的文本文件吗?如果是这样,则此.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

这是cmd中的一行:

for /f %i in (textfile.txt) do @echo . > %i.txt
for/f
在文本文件中逐行循环,同时进行标记化。幸运的是,您的行中没有空格,否则这也会在那里调用类似于
“delims=“
”的内容

这将在每个新文件中放置一行,其中包含一个点,后跟一个空格。如果您只需要一个空行,则必须使用
echo.>%i.txt
。如果您只想创建每个文件(UNIX极客可能只需要使用
touch
(1)),您可以使用
copy NUL%i.txt
。如果要在批处理文件中使用此选项(而不是直接从命令行),则必须使用
%%i
而不是
%i

我认为您真的想要创建空文件,因此下面应该可以做到这一点:

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

文本文件t.txt包含:

PRXI0000466
PRXI0000564
PRXI0000636
PRXI0000681
PRXI0001092
这个循环应该可以解决您的问题

for /f %%a in (t.txt) do %%a > %%a.txt