在VBS中使用命令行参数

时间:2015-06-03 16:21:46

标签: batch-file vbscript cmd

我使用以下VBS脚本从文件中删除第一个n行号:

strInputFile = "*Filename.txt"

Set objFSO = CreateObject("Scripting.FileSystemObject")
Const intForReading = 1
Set objInputFile = objFSO.OpenTextFile(strInputFile, intForReading, False)
If Not objInputFile.AtEndOfStream Then
      objInputFile.SkipLine
Else
      WScript.Quit
End If
strContents = ""
While Not objInputFile.AtEndOfStream
      If strContents = "" Then
            strContents = objInputFile.ReadLine
      Else
            strContents = strContents & VbCrLf & objInputFile.ReadLine
      End If
Wend
objInputFile.Close
Set objInputFile = Nothing

Set objOutputFile = objFSO.CreateTextFile(strInputFile, True)
objOutputFile.Write strContents
objOutputFile.Close
Set objOutputFile = Nothing
Set objFSO = Nothing

当我通过CMD启动程序时,如何更改代码以使其不是常量输入文件而是参数?

2 个答案:

答案 0 :(得分:1)

查看wscript.arguments,它提供对用于启动脚本的命令行的访问。

if (wscript.arguments.count <> 1) then
    wscript.echo "Usage: dl2unc <drive-letter-path>"
    wscript.quit 1
end if

s = wscript.arguments.Item(0)

答案 1 :(得分:0)

更改

strInputFile = "*filename.txt" 

strInputFile = WScript.Arguments(0)

并且第一个arg将是文件名。