VB程序改变脚本文件中的文本然后运行

时间:2014-03-20 20:45:58

标签: vb.net cmd

我有一个.cmd文件,用于更新某些网络块上的固件。它包含一个IP地址。我正在尝试制作VB 2010 Express程序,用用户在文本框中键入的IP地址替换现有的IP地址。主要问题是它在开头添加了一些疯狂的角色。这是我用来读取cmd文件的代码,更改IP并创建一个具有不同名称的新代码。然后我发布它。问题是它在开头添加了一些字符,如下图所示。任何机构都可以向我解释为什么它会在文件的开头添加如果你知道如何纠正这个问题。谢谢。

在VBSedit中看到的新文件

set ModuleAddress=
set ModuleInterface=ECT
set ModuleName=BNI ECT-508-105-Z015

set ModuleFirmware="..\..\%ModuleInterface%\%ModuleName%\bniect.nxf"

set ModuleWebserver="..\..\%ModuleInterface%\%ModuleName%\Webserver"

set SipFw="..\..\%ModuleInterface%\%ModuleName%\sip.hex"

call Scripts\fileupload.cmd %ModuleAddress% %SipFw%

call Scripts\webupload.cmd %ModuleAddress% %ModuleWebserver%

call Scripts\fwupdate.cmd %ModuleAddress% %ModuleFirmware%

pause

VBSdedit中看到的旧文件

set ModuleAddress=10.10.0.1

set ModuleInterface=ECT

set ModuleName=BNI ECT-508-105-Z015

set ModuleFirmware="..\..\%ModuleInterface%\%ModuleName%\bniect.nxf"

set ModuleWebserver="..\..\%ModuleInterface%\%ModuleName%\Webserver"

set SipFw="..\..\%ModuleInterface%\%ModuleName%\sip.hex"

call Scripts\fileupload.cmd %ModuleAddress% %SipFw%

call Scripts\webupload.cmd %ModuleAddress% %ModuleWebserver%

call Scripts\fwupdate.cmd %ModuleAddress% %ModuleFirmware%

pause

Visual Basic 2010快速代码

    Dim fileReader As String = My.Computer.FileSystem.ReadAllText("C:\Update BNI ECT-508-105-Z015 HW5 FW1.1\Update BNI ECT-508-105-Z015 HW5 FW1.1\Update BNI ECT-508-105-Z015 HW5 FW1.1\+ Tools\netX Update\PROGRAM WHOLE PROJECT BNI ECT-508-105-Z015 192 168 0 100.cmd").Replace("10.10.0.1", TextBox1.Text)
    My.Computer.FileSystem.WriteAllText("C:\Update BNI ECT-508-105-Z015 HW5 FW1.1\Update BNI ECT-508-105-Z015 HW5 FW1.1\Update BNI ECT-508-105-Z015 HW5 FW1.1\+ Tools\netX Update\PROGRAM WHOLE PROJECT BNI ECT-508-105-Z015 192 168 0 100 2.cmd", fileReader, False)


    Dim FILE_NAME As String = "C:\Update BNI ECT-508-105-Z015 HW5 FW1.1\Update BNI ECT-508-105-Z015 HW5 FW1.1\Update BNI ECT-508-105-Z015 HW5 FW1.1\+ Tools\netX Update\PROGRAM WHOLE PROJECT BNI ECT-508-105-Z015 192 168 0 100 2.cmd"

    If System.IO.File.Exists(FILE_NAME) = True Then

        Process.Start(FILE_NAME)

    Else

        MsgBox("File Does Not Exist")

    End If

1 个答案:

答案 0 :(得分:0)

  

任何机构都可以向我解释为什么将添加到文件的开头?

看起来像Byte Order Mark。要解决此问题,请使用允许您指定文本编码的WriteAllText()重载之一,并确保使用Encoding.ASCII