为什么批处理文件在我在记事本中创建时会运行,但是当我在VB代码中创建它时却没有? Dim strStartFile As String = "C:\Documents and Settings\All Users\StartMenu\Programs\Startup\Starter.bat" If Not File.Exists(
Dim strStartFile As String = "C:\Documents and Settings\All Users\StartMenu\Programs\Startup\Starter.bat" If Not File.Exists(strStartFile) Then Dim strBatLine1 As String = "cd C:\Progra~1\Applic~1 && start Application.exe" My.Computer.FileSystem.WriteAllText(strStartFile, strBatLine1, False) SetAttr(strStartFile, FileAttribute.Normal) End If
它创建文件就好了.它看起来与手工版本完全相同,双击时它不会启动exe.我试过附加CR LF,vbCrLf,但没有去.
尝试直接从Startup启动exe时存在一个固有的问题,它从该目录运行它并且无法找到相关文件(在Application目录中)所以cd是必要的.
使用VB 2010 Express.在此先感谢您的帮助!
您可能需要传入Systems ANSI CodePage,因为您正在从cmd.exe执行该文件My.Computer.FileSystem.WriteAllText(strStartFile,strBatLine1,False,System.Text.Encoding.Default);