创建一个vbs /批处理文件以编辑文本文件并创建一个新的文本文件

麦克曼

我对vb不太熟悉,但是批处理文件越来越好。我正在为自己的工作地点创建一个简单的网站,作为销售和事物的公告。基本上,我有一个文本文件,该文件是要出售的新商品的模板。我有类似<-!在此处插入项目名称!->之类的东西,以方便我们在办公室工作的非技术人员。我正在寻找一个脚本来编辑主HTML文件,以将新的.html文件添加到文件夹,并使用带有提示选项(价格,说明,部等)的模板来创建新的.html文件。

我知道这听起来很多,但我希望可以轻松完成。

基本上,我需要它来:

-提示更改标题,描述,价格和联系方式-将此文件另存为.html的标题-以日期,html位置,链接标题的格式将新的.html文件添加到索引文件中。

到目前为止,这是我的index.html,这样您就可以了解这个网站有多简单...

<HTML>
    <HEAD>

        <TITLE>Bulletin</TITLE>
    </HEAD>

<BODY>
    <CENTER><IMG SRC="logo.jpg">
    <CENTER><IMG SRC="bulletinboardbest.jpg" width=200 height=150></CENTER>
<H1>Bulletin Board</H1>
<font color="666666">To add an item please email <a href="mailto:[email protected]">[email protected]</a></font></CENTER>

<HR>



<!-Insert Items Below-!>

3/25/2013 - <A HREF="1999malibu.html">1999 Chevrolet Malibu For Sale</A>
<BR><BR>

3/28/2013 - <A HREF="orangescrewdriver.html">Orange Screw Driver For Sale</A>

<BR><BR><BR><BR><BR><BR>



</BODY>
</HTML>

项目网站模板

<HTML>
    <HEAD>
        <TITLE>Bulletin</TITLE>
    </HEAD>

<BODY>
    <CENTER><H1>Bulletin</H1></CENTER>






<!-Item Name-!>
    <H1>!!ITEM NAME HERE!!</H1> 





<!-Item Price-!>
    <H2><U>!!ITEM PRICE HERE!!</U></H2>





<!-Contact Info-!>
    <b><Font Color="Blue">!!CONTACT INFO HERE!!</b></font>
        <BR><BR><BR>






<!-Item Description-!>
    !!DESCRIPTION HERE!!



</BODY>
</HTML>

希望这不太困难。...试图找出最简单的方法来为非编码类型的人做这件事。

chewmewaba4

干得好:

Option Explicit             
Const ForReading = 1                
Const ForWriting = 2                
Const ForAppending = 8              

Sub collectData()               
    Dim WshShell, sPath, sMain, sName, sDesc, sPrice, sContact          

    ' Save it to a folder on the Desktop            
    set WshShell = WScript.CreateObject("WScript.Shell")            
    sPath = WshShell.SpecialFolders("Desktop")          
    sPath = sPath & "\Scratch Files\"           

    sMain = "Bulletin.html"         

    ' Prompt for title, description, price, and contact         
    sName = getInput("Item Name")           
    sDesc = getInput("Item Description")            
    sPrice = getInput("Item Price")         
    sContact = getInput("Contact Information")          

    Call createFile(sPath, sName, sDesc, sPrice, sContact)          

    ' Add new .html file to index file in the format: date, <a href=html location>title for link</a>            
    Call appendFile(sPath, sMain, sName)            

    set WshShell = Nothing  
    Call Msgbox("Your item (" & sName & ") was added")
End Sub             

Function getInput(prompt)               
    getInput = inputbox(prompt,"Add New Item for Sale")         
End Function                

sub createFile(sPath, sName, sDesc, sPrice, sContact)               
    'Creates a new file, or appends to an existing file         
    Dim objFSO, objArgs(19), sTextFile, objFile, i          

    ' Create the File System Object         
    Set objFSO = CreateObject("Scripting.FileSystemObject")         

    ' Check if folder path exists; if not, create folder            
    If objFSO.FolderExists(sPath) then          
    Else            
        Call objFSO.CreateFolder(sPath)     
    End If          

    ' Save file as <title of item>.html         
    sTextFile = sPath & sName & ".html"             

    ' If file exists, open; else, create it         
    If objFSO.FileExists(sTextFile) Then            
        Set objFile = objFSO.OpenTextFile(sTextFile, ForAppending)      
    Else            
        Set objFile = objFSO.CreateTextFile(sTextFile)      
    End If          

    objArgs(1) = "<HTML>"           
    objArgs(2) = "    <HEAD>"           
    objArgs(3) = "        <TITLE>Bulletin</TITLE>"          
    objArgs(4) = "    </HEAD>"          
    objArgs(5) = ""         
    objArgs(6) = "<BODY>"           
    objArgs(7) = "    <CENTER><H1>Bulletin</H1></CENTER>"           
    objArgs(8) = "<!-Item Name-!>"          
    objArgs(9) = "    <H1>" & sName & "</H1> "          
    objArgs(10) = "<!-Item Price-!>"            
    objArgs(11) = "    <H2><U>" & sPrice & "</U></H2>"          
    objArgs(12) = "<!-Contact Info-!>"          
    objArgs(13) = "    <b><Font Color='Blue'>" & sContact & "</b></font>"           
    objArgs(14) = "        <BR /><BR /><BR />"          
    objArgs(15) = "<!-Item Description-!>"          
    objArgs(16) = "    " & sDesc            
    objArgs(17) = "</BODY>"         
    objArgs(18) = "</HTML>"         

    ' Write the details to the file         
    For i = 1 To UBound(objArgs)            
        objFile.WriteLine objArgs(i) & " "      
    Next            
    ' Append a newline character            
    objFile.WriteLine           

    ' Close the file            
    objFile.Close           

    set objFile = Nothing           
    set objFSO = Nothing            
End Sub             

Sub appendFile(sPath, sMain, sName)             
    Dim objFSO, objArgs(3), sTextFile, objFile, file, i, lBody          

    ' Create the File System Object         
    Set objFSO = CreateObject("Scripting.FileSystemObject")         

    ' Check if folder path exists; if not, create folder            
    If objFSO.FolderExists(sPath) then          
    Else            
        Call objFSO.CreateFolder(sPath)     
    End If          

    'Create filename            
    sTextFile = sPath & sMain           

    ' If file exists, open; else, create it         
    If objFSO.FileExists(sTextFile) Then            
        Set objFile = objFSO.OpenTextFile(sTextFile, ForReading)        
        file = Split(objFile.ReadAll(), vbCrLf)     
        objFile.Close()     
        Set objFile = objFSO.OpenTextFile(sTextFile, ForWriting)        
        For i = Lbound(file) to Ubound(file)        
            If inStr(file(i), "</BODY>") then   
                lBody = i
                Exit For
            Else    
                objFile.WriteLine(file(i))
            End If  
        Next        
    Else            
        Set objFile = objFSO.CreateTextFile(sTextFile)      
        file(1)=""      
    End If          

    objArgs(1) = Date() & " - <A HREF=""" & sName & ".html"">" & sName & " For Sale</A>"            
    objArgs(2) = "<BR /><BR />"         

    ' Write the details to the file         
    For i = 1 To UBound(objArgs)            
        objFile.WriteLine objArgs(i) & " "      
    Next            
    For i = lBody to Ubound(file)           
        objFile.WriteLine(file(i))      
    Next            

    ' Append a newline character            
    objFile.WriteLine           

    ' Close the file            
    objFile.Close           

    set objFile = Nothing           
    set objFSO = Nothing            
End Sub             

collectData()

笔记:

  1. 在collectData子项中,您可以定义希望保存文件的路径(当前位于桌面上的Scratch Files文件夹中)。您还可以定义主网页的名称(当前为Bulletin.html)
  2. 在任何提示上都没有用户验证(InputBox在函数getInput中),但是可以随意添加一些提示。您可能希望包括默认值“ $”,这将需要对getInput函数的参数进行一些重新设置(为Default value添加另一个参数,并在inputbox(..)调用中包含第三个参数;有关更多详细信息,请关注此页面:http://msdn.microsoft.com/zh-CN/library/3yfdhzk5%28v=vs.84%29.aspx
  3. 我模拟了在createFile()子目录中作为模板提供的HTML代码。如果要更改该值(即添加行),则还需要更新子顶部附近的objArgs变量声明。
  4. 主网页中的附加模板也一样(请参阅#3),但位于appendFile()子目录中。

用法:

  1. 要添加新内容,用户需要双击计算机上的* .vbs文件。
  2. 提示将指导他们完成详细信息以添加其项目。
  3. 脚本完成后,它将自动为他们创建* .html,更新您的主页,并通过漂亮的MsgBox通知他们(已添加您的项目商品名称)。

希望这可以帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

创建一个批处理文件以在文本文件行中添加开头和结尾

来自分类Dev

如何创建一个批处理文件,该批处理文件将删除文本文件中的行

来自分类Dev

使用批处理文件将数据从一个文本文件提取到另一个文本文件

来自分类Dev

Vbs创建一个文本文件,并在其中写入文本

来自分类Dev

将文本文件的前两行复制到另一个文本文件的批处理文件

来自分类Dev

创建一个空的文本文件

来自分类Dev

Lotus Notes:创建一个文本文件

来自分类Dev

命令从文本复制一行并创建一个新的文本文件

来自分类Dev

创建一个批处理文件,该文件将文本文件和文件夹中的文件名进行比较,如果匹配,它将文件复制到另一个文件夹

来自分类Dev

批处理文件:比较 2 个文本文件并更新文本文件中的特定行

来自分类Dev

使用heredoc创建一个新的文本文件

来自分类Dev

用其他名称和内容创建一个新的文本文件

来自分类Dev

使用heredoc创建一个新的文本文件

来自分类Dev

用其他名称和内容创建一个新的文本文件

来自分类Dev

我想用C#创建一个新的文本文件

来自分类Dev

从文本文件中读取行并为每行中的每个名称创建一个文本文件

来自分类Dev

从文本文件中读取行并为每行中的每个名称创建一个文本文件

来自分类Dev

批处理文件文件夹和文本文件的创建

来自分类Dev

批处理脚本从文本文件复制一组行并将值粘贴到另一个文本文件中

来自分类Dev

如何创建从批处理文件复制ping信息的文本文件?

来自分类Dev

使用批处理文件从列表创建多个文本文件

来自分类Dev

创建批处理文件以遍历文本文件并删除所有引号

来自分类Dev

从文本文件读取,创建另一个文件

来自分类Dev

批处理文件如何并行读取两个文本文件?

来自分类Dev

批处理文件合并两个文本文件

来自分类Dev

批处理文件如何并行读取两个文本文件?

来自分类Dev

将文本文件合并为一个文本文件

来自分类Dev

将大量文本文件转换为一个大文本文件

来自分类Dev

将多个文本文件合并为一个文本文件?

Related 相关文章

  1. 1

    创建一个批处理文件以在文本文件行中添加开头和结尾

  2. 2

    如何创建一个批处理文件,该批处理文件将删除文本文件中的行

  3. 3

    使用批处理文件将数据从一个文本文件提取到另一个文本文件

  4. 4

    Vbs创建一个文本文件,并在其中写入文本

  5. 5

    将文本文件的前两行复制到另一个文本文件的批处理文件

  6. 6

    创建一个空的文本文件

  7. 7

    Lotus Notes:创建一个文本文件

  8. 8

    命令从文本复制一行并创建一个新的文本文件

  9. 9

    创建一个批处理文件,该文件将文本文件和文件夹中的文件名进行比较,如果匹配,它将文件复制到另一个文件夹

  10. 10

    批处理文件:比较 2 个文本文件并更新文本文件中的特定行

  11. 11

    使用heredoc创建一个新的文本文件

  12. 12

    用其他名称和内容创建一个新的文本文件

  13. 13

    使用heredoc创建一个新的文本文件

  14. 14

    用其他名称和内容创建一个新的文本文件

  15. 15

    我想用C#创建一个新的文本文件

  16. 16

    从文本文件中读取行并为每行中的每个名称创建一个文本文件

  17. 17

    从文本文件中读取行并为每行中的每个名称创建一个文本文件

  18. 18

    批处理文件文件夹和文本文件的创建

  19. 19

    批处理脚本从文本文件复制一组行并将值粘贴到另一个文本文件中

  20. 20

    如何创建从批处理文件复制ping信息的文本文件?

  21. 21

    使用批处理文件从列表创建多个文本文件

  22. 22

    创建批处理文件以遍历文本文件并删除所有引号

  23. 23

    从文本文件读取,创建另一个文件

  24. 24

    批处理文件如何并行读取两个文本文件?

  25. 25

    批处理文件合并两个文本文件

  26. 26

    批处理文件如何并行读取两个文本文件?

  27. 27

    将文本文件合并为一个文本文件

  28. 28

    将大量文本文件转换为一个大文本文件

  29. 29

    将多个文本文件合并为一个文本文件?

热门标签

归档