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