如何从Wscript.Echo strLine创建文件

时间:2013-05-22 20:55:33

标签: vbscript wsh

刚开始使用VBScript:

此脚本从文本文件中检索文件路径并在屏幕上显示输出:

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("c:\temp\log.txt", ForReading)
Const ForReading = 1
Dim arrFileLines()
i = 0
Do Until objFile.AtEndOfStream
Redim Preserve arrFileLines(i)
arrFileLines(i) = objFile.ReadLine
i = i + 1
Loop
objFile.Close
For Each strLine in arrFileLines
WScript.Echo strLine
Next

WScript.Echo strLine在屏幕上显示文件的名称

有没有办法创建一个与strLine中包含的值同名的文件?

我试过跑:

cscript vbscript > strLine

但它只创建一个名为“strLine”的文件,而不是存储在strLine中的文件

任何协助赞赏

感谢

3 个答案:

答案 0 :(得分:1)

使用Set tsX = objFS.CreateTextFile(strLine, True) - 在the docs.

中阅读此方法后

<强>更新

在代码中:

Option Explicit
Dim goFS : Set goFS = CreateObject("Scripting.FileSystemObject")
Dim tsNames : Set tsNames = goFS.OpenTextFile("fnames.txt")
Do Until tsNames.AtEndOfStream
   Dim tsX : Set tsX = goFS.CreateTextFile(tsNames.ReadLine())
   tsX.WriteLine "Abracadabra"
   tsX.Close
Loop
tsNames.Close

答案 1 :(得分:0)

如果您想使用回显值,可以在cmd中执行以下操作:

for /f "tokens=*" %f in ('cscript //NoLogo vbscript') do @(
  if not exist "%~dpf" md "%~dpf"
  if not exist "%~ff" type nul>"%~ff"
)

答案 2 :(得分:0)

只需要一行:

Set file = objFSO.CreateTextFile("C:\Temp\" & strLine)    ' & extension - if needed eg .txt

根据需要更改路径

通过以下方式向文件添加文字:

file.WriteLine    Line           'line by line

或者如果你有完整的文字:

file.Write        CompleteText

完成后不要忘记关闭文件

file.close