De bat a C#

Iniciado por Meta, 3 Junio 2009, 22:07 PM

0 Miembros y 1 Visitante están viendo este tema.

Meta

Hola:

Tengo un código hecho en BAT que se llama BD.cmd y otro BD.bat que es exactamente lo mismo. Su contenido tiene unos comandos para simplificar lo que yo quiero usar.

Código (dos) [Seleccionar]
@ECHO OFF
TITLE MySQL
CD C:\Archivos de programa\MySQL\MySQL Server 5.1\bin
mysql.exe -h localhost -u Usuario -p


Código (csharp) [Seleccionar]

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MySQL_CMD
{
    class Program
    {
        static void Main(string[] args)
        {
        }
    }
}


¿Puedo hacer lo mismo bajo C# en línea de comandos?

El motivo, que no se modifique el ejecutable ya en C# ni que se vea lo que tiene dentro como el BD.bat.

Saludo.
Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

43H4FH44H45H4CH49H56H45H

Puedes crear un bat en tiempo de ejecución con las funciones que mencionas, ejecutarlo, esperar a que termine su proceso y borrarlo o desde el mismo .bat un "autoborrado".
Otro modo puede ser igualmente lo mencionado pero con un script .sql + un .bat
Por ultimo podria ser del siguiente modo:
Código (csharp) [Seleccionar]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            System.Diagnostics.ProcessStartInfo info = new System.Diagnostics.ProcessStartInfo("CMD.EXE", @"/C title Simon && cd  \ && echo hola && dir *.* && pause");
            info.Verb = "open";
            System.Diagnostics.Process.Start(info);
            Console.ReadKey();
        }
    }
}


Haces todo el trabajo en una sola línea o alguna combinación, mostrando o no la consola.
Aunque asi es sencillo modificar los strings que contiene este pequeño programa y tb ver los mismos, para dificultar un poco puedes utilizar valores decimales u otros y pasarlos a su equivalente en "Chr" en tiempo de ejecución para obtener el string que quieres ocultar.

-R IP
:0100
-A 100 
2826:0100 MOV AH,09
2826:0102 MOV DX,109
2826:0105 INT 21
2826:0105 MOV AH,08
2826:0105 INT 21
2826:0107 INT 20
2826:0109 DB 'MI NICK ES CODELIVE.$' 
2826:0127 
-R BX
:0000
-R CX
:20
-N CODELIVE.COM
-W