SharedIT | 묻고 답하기(AMP)

[C#] 소스코드를 .bat나 .cmd로 만들수 잇을까요?

안녕하세요


C#으로 간단한 프로그램(특정 드라이버 파일 삭제 및 이력 서버 전송)을 만들었습니다.  (확장자 EXE)


문제는 이를 AD 정책을 통해서 배포하려고 하는데, 확장자가 bat나 cmd만 가능하다고 엔지니어로부터 들었습니다. 


그래서 C#으로 코딩한 내용을 bat로 컴파일 가능한 방법이 있을까요?

Tags : 태그가 없습니다.

10개의 답변이 있습니다.

kwimxj03
  0 추천 | 약 3년 전

답장 감사합니다.

별도의 exe 파일을 bat에서 호출하는 것으로 구현하엿습니다.

양성환
  0 추천 | 약 3년 전

powershell로 하시고 bat 나 cmd 또는 내부에 컴맨드를 배포하는게 다 좋습니다.

개복치
  0 추천 | 약 3년 전

exe파일을 ftp서버에 올리고, powershell 로 해당 파일 다운로드 및 다른 동작 할 수 있도록 하면 가능하지 않을까요;

그저멍하니
  0 추천 | 약 3년 전

bat를 시작프로그램에 AD를 통해 배포하여

C#으로 개발하신 exe파일을 공유폴더나 서버등에 넣어놓고 실행하는 방법을 써보시면 어떨까요?

차니
  0 추천 | 약 3년 전

exe 확장자를 bat로 rename 한 후 배포, 다시 rename해서 실행하셔도 될 듯 합니다만...


아니면 AD가 아닌 다른 방법으로 다운로드, 실행하는 방법을 선택하심이...

http/ftp url 배포도 한가지 방법입니다.

빨간신발
  0 추천 | 약 3년 전

exe : 컴퓨터 파일의 실행파일

bat(cmd) : 명령어를 한번에 적어놓고 실행 하게 할 수 있게 만들어서 편리하게 사용자가 타이핑 치는 수고를 줄여 놓은 명령어 스크립트

bat(cmd)가 exe, com 같은 실행파일을 사용자가 쉽고 편하게 실행하기 위해 모아놓은 파일입니다.

bat는 실제적으로 exe, com 파일을 호출하는 역활이라서 bat를 exe로 변환은 어렵다고 보시는게 좋습니다.

그리고 bat는 스크립트이기에 컴파일되는 프로그램 언어를 대체할 수 없습니다.

차바라기
  0 추천 | 약 3년 전

bat,cmd(CMD창에서 실행해도 되고 단독으로는 실행 불가능한걸로 알고 있습니다.

deerokgo
  0 추천 | 약 3년 전

bat를 exe 파일로 변환하는 것은 자료가 많은데요.

거꾸로 하는 것은 찾아보기 힘드네요.

보통 bat 파일에서 exe 파일을 호출해서 사용하는 것이 대부분이긴 합니다.

하나 찾긴 했는데, 직접 해보진 않아서 된다고 말씀드릴수는 없을 듯 합니다.

아래 URL 참고해보세요.

https://www.hybrid-analysis.com/sample/a71163786af2d6699082943a707bb7c5d698e1882d8f43fa7319c50483699964?environmentId=100


wansoo
  0 추천 | 약 3년 전

특정 드라이버 삭제나 이력 전송 같은 기능은 shell 명령이나 ftp 등의 명령을 이용하면 가능할 거 같습니다.

구체적인 기능을 제시해 주시면, 가능한 방법을 한번 찾아 볼께요~

wansoo
  0 추천 | 약 3년 전

bat, cmd 는 shell에서 사용할 수 있는 명령들을 나열한 형태의 스크립트가 되겠고요.

단독으로 할수 있는 제어가 극히 제한적입니다.

cmd shell에 내장된 명령이거나, 실행할수 있는 외부 명령( .exe, .com 등)이 디스크에 저장되어 있어야 사용할 수 있겠고요.

C#으로 컴파일한 .exe 실행 file이 실행 경로상에 미리 저장되어 있는 경우라면 실행하는 명령을 batch file에 넣어서 실행할 수 있겠지만, 그런게 아니라면 안되겠고요.

C#으로 만들어진 코드가 batch file에서 처리 가능한 기능이라면 batch file로 변환 가능할 수도 있겠지만,

그럴 가능성은 낮을 것 같아 보이네요.


어떤 기능을 처리하냐에 따라 일부 기능은 batch file로도 만들수 있겠지만,

batch file 단독으로 구현할 수 있는 기능은 많이 제한되고, 구현 불가한 경우가 많습니다.