2011-03-26 3 views
4

배치 파일은 메모장에서 만들 때 실행되는데 VB 코드에서 만들면 왜 나타나지 않습니까?VB 2010 Express에서 배치 파일을 만들려고합니다.

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를 추가하려고했지만 아무 것도 시도하지 않았다.

시작 프로그램에서 직접 exe를 시작하려고 할 때 고유 한 문제가 있습니다. 해당 exe를 해당 디렉터리에서 실행하고 (응용 프로그램 디렉터리에있는) 관련 파일을 찾을 수 없으므로 CD가 필요합니다.

VB 2010 Express 사용. 도와 주셔서 미리 감사드립니다.

답변

4
당신은 cmd.exe를에서 파일을 실행하고 있기 때문에 당신은 아마의 시스템 ANSI 코드 페이지에 전달해야

거짓 My.Computer.FileSystem.WriteAllText (strStartFile, strBatLine1, System.Text.Encoding.Default);

+0

달콤한! 매력처럼 작동합니다. 감사합니다 루크! 4 시간 전에 물어 봤어야 했어. ;) 다시 한번 감사드립니다. – Dave

관련 문제