none
Crear Archivo .bat pero con charset ANSI RRS feed

  • Pregunta

  • Hola tengo el siguiente código.

            Try
                    
                    
                    Dim SBat As String = """C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\SQLCMD.EXE"" -S Oscare-CU -i ""C:\Map\Backup\instruccionSql.sql"" >> log.txt"
                    generarBattxt.AppendText(SBat & vbCrLf)
                    My.Computer.FileSystem.WriteAllText("C:\Map\Backup\instruccionBat.bat", generarBattxt.Text, False)
                    MsgBox("Archivo .bat creado")
                Catch ex As Exception
    
                End Try
            Catch ex As Exception
                generar_Scripts = False
                MessageBox.Show(ex.Message)
            Finally
                cn.Close()
            End Try

    El problema que tengo es que al momento de ejecutarlo dando doble clic marca un error, me di cuenta que si lo ejecuto copiando la sentencia directamente en el cmd no ocurre eso, se ejecuta correctamente la instrucción.

    Llegué a la conclusion de que es la forma en como guarda el bloc  de notas en charset UTF8, y si le cambio ese papametro desde bloc de notas ANSI, si ejecuta correctamente el .bat, dando doble clic o pasarlo al programador de tareas, que bien ese es mi objetivo.

    ¿Podrian decirme que parametro le agrego a mi código para guardarlo en charset ANSI? Se los agradeceria bastante

    lunes, 16 de mayo de 2016 6:32

Respuestas

Todas las respuestas

  • Al final del WriteAllText, ponle el Encoding que quieras para tu fichero:

    My.Computer.FileSystem.WriteAllText("....", texto, false, System.Text.Encoding.GetEncoding(1252))


    lunes, 16 de mayo de 2016 7:01
  • Excelente brow, sólo tengo otra sopresa, si me ejecuta el comando pero a medias, por que el log no lo crea, cual crees que sea la razón, te mando lo que me muestra en el cmd al momento de ejecutarlo.

    System.Text.Encoding.GetEncoding(1252)

    C:\SICA SAP\Backup>"C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\S
    QLCMD.EXE" -S OMAR-CU -i "C:\SICA SAP\Backup\instruccionSql.sql"  1>>log.txt

    casi al final aparece ese uno y en mi codigo en ningun momento lo pongo

    lunes, 16 de mayo de 2016 7:19
  • Hola voolvi a ejecutar el .bat y ahora si me generó el archivo log...

    problema resuelto, gracias a ti amigo. muchas gracias

    lunes, 16 de mayo de 2016 7:26