using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics; //process 를 사용하기 위한 네임 스페이스
namespace OracleAutoBackup
{
class Program
{
static void Main(string[] args)
{
string DAY = DateTime.Now.ToString("yyyyMMddHHmm");
//경로를 기재할때 절대 경롤 표시인 @ 를 넣지 않으면 오류가 발생했다.
// ("+ DAY +") 를 넣고 나니 [인식할 수 없는 이스케이프 시퀀스 입니다] 로 오류가 발생하였다. 그래서 @ 를 두개로..
string Order = @"exp system/oracle file=H:\Oracle_Backup\oracle(" + DAY + ").dmp"+
@" log=H:\Oracle_Backup\oracle(" + DAY + ").log full=y";
ProcessStartInfo proinfo = new ProcessStartInfo();
Process pro = new Process();
//실행할 파일명 입력 --cmd
proinfo.FileName = @"cmd";
//cmd 창 띄우기 - true(뛰우지 않기) false(띄우기)
proinfo.CreateNoWindow = false;
proinfo.UseShellExecute = false;
proinfo.UseShellExecute = false;
proinfo.RedirectStandardOutput = true; //cmd 창에서 데이터를 가져오기
proinfo.RedirectStandardInput = true; //cmd 창에서 데이터 보내기.
// proinfo.RedirectStandardError = true; //cmd 창에서 오류내용 가져오기.
// pro.EnableRaisingEvents = false;
pro.StartInfo = proinfo;
pro.Start();
//cmd 에 보낼 명령어를 입력한다.
pro.StandardInput.Write(Order + Environment.NewLine);
pro.StandardInput.Close();
//결과 값을 리턴 받습니다.
//string resultValue = pro.StandardOutput.ReadToEnd();
//pro.WaitForExit();
pro.Close();
//Console.WriteLine(resultValue);
}
}
}