刚开始使用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中的文件
任何协助赞赏
感谢
答案 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