아무것도하지 않는 Windows exe가 있습니까?


47

Windows 설치의 일부로 "noop"-esque exe가 있습니까? 몇 가지 배치 작업과 예약 된 작업을 준비 중이며 몇 가지 이유로 실행되지 않는 실행 파일을 참조하고 싶습니다. 즉, 표시되는 창없이 실행되고 즉시 종료됩니다.

이러한 실행 파일은 일반적인 Windows 설치에 어디에 있습니까? 아니면 어떻게 가까이 갈 수 있습니까? Windows에 아직 포함되어 있지 않은 것에 의존하고 싶지 않습니다.


2
관찰에서 : svchost.exe아무것도 열지 않습니다.
ta.speot.is

@ todda.speot.is에 전체 답변으로 포함시켜야합니다.
DuckMaestro

2
외부 (실행 파일) 파일이어야합니까? 그렇지 않은 경우 rem명령이 작동했을 수 있습니다 (일괄 파일에서 사용중인 위치, ::변형 까지 가능 ).
Synetech

답변:


51

당신은 사용할 수 있습니다 rundll32:

  • 콘솔 창이 없습니다
  • 부작용 없음
  • 단지 44KB
  • 인수가 필요하지 않습니다
  • 모든 최신 Windows 버전 (XP, Vista, 7) 및 모든 NT 기반 시스템에서 작동합니다.

2
왜 거기에 있습니까?
Nathan

6
@Nathan 적절한 인수를 사용하면 DLL 내부에서 함수를 호출 할 수 있습니다.
Andrea

권리. 예를 들어, print.exe전달 된 매개 변수를 단순히 인쇄 하는 간단한 프로그램을 상상해보십시오 . 인수 없이는 아무것도하지 않지만 인수를주는 것은 다음 과 같은 일을 > print foobar합니다.
Synetech

@Andrea는 인수가 주어지지 않으면 아무것도하지 않습니다. 그의 요구 사항에 따라 충분하지는 않지만.
barlop

3
아마도 실제로는 그렇지 않습니다.
Andy Terra

36

Windows 설치의 일부로 "noop"-esque exe가 있습니까?

특별히 아무것도하지 않는 프로그램을 의미합니까? 예, 아니오 Windows에는 기본적으로 하나가 포함되어 있지 않지만 직접 만들 수는 있습니다.


옵션 1

notepad.exe를 실행 하고 다음 줄을 입력 한 후 저장하십시오 C:\ret.scr(빈 줄을 잊지 마십시오).

a
ret

rcx
1
n ret.com
w
q

다음 명령 을 사용하여 명령 프롬프트 ( cmd.exe ) 에서 debug.exe 로 컴파일하십시오 .

C:\> debug < ret.scr

이제 ret.com배치 파일에서 사용할 수 있는 프로그램 (C : \)이 있습니다.

참고 : debug64 비트 시스템에는 포함되어 있지 않습니다.


옵션 2

Vista 이상에서는 .NET 프레임 워크가 기본적으로 포함되어 있으므로 .exeC # ( 64 비트 호환 )을 사용하여 기본 Windows 작업을 수행 할 수 없습니다 .

notepad.exe를 실행 하고 다음 줄을 입력하여 다음과 같이 저장하십시오 C:\ret.cs.

class rte
{
   static void Main() {
   }
}

다음 명령 을 사용하여 명령 프롬프트 ( cmd.exe ) 에서 csc.exe 로 컴파일하십시오 .

C:\> csc ret.cs

이제 다른 프로그램 ret.exe(C : \에 있음)을 반환 파일 만 사용할 수있는 배치 파일에 사용할 수 있습니다.


2
젠장 브릴리언트 .. 모든 사람들이 당신을 찬성해야한다. 나는 항상 어셈블리 언어를 배우고 싶었다. 나는 결코 디버그를 사용하지 않고 DOS로 죽었다고 생각했다. 나는 당신의 대답을 우연히 발견했습니다. 미래의 취미를위한 사료일지도 모른다!
barlop

12
나를 위해, csc.exe내 길에 아니었지만,이 위치했다C:\Windows\Microsoft.NET\Framework\v3.5\csc.exe
AlcubierreDrive

csc.exe와 같은 주요 방법이있는 C 프로그램에서 컴파일 된 EXE는 어떻습니까? 디버그에서 작성한 프로그램보다 훨씬 많은 일을하고 있습니까? 예를 들어, 해당 프로그램에 훨씬 더 많은 어셈블리 언어가 있습니까?
barlop

1
@barlop, 일반적으로 그렇습니다. 빈 main함수는 마치 것처럼 보이지만 적어도 a 이상 이어야 합니다 ret. 디스어셈블러 (또는 16 진수 편집기)에서 그러한 프로그램을 열면 그보다 훨씬 많은 것을 알 수 있습니다. 일반적으로 모든 종류의 세그먼트 (코드, 데이터 등)를 설정하고 스택과 힙을 준비하며 모든 종류의 함수와 문자열을 가져 오는 것은 물론 실제로 사용하지 않는 경우에도 마찬가지입니다.
Synetech

DirectX 및 VCruntimes와 같은 소프트웨어가 더 이상 필요하지 않은 패키지 크기를 줄이면서 설치 키트의 일부 오래된 외부 지원 소프트웨어를 대체하려면이 제품이 필요했습니다. 또한 컴파일러가 없거나 설치하지 않으려면 tutorialspoint.com/codingground.htm 에서 온라인 컴파일러를 사용하고 컴파일 후 프로젝트를 다운로드하면 아카이브 안에 exe가 있습니다.
JasonXA

10

Windows에 포함 된 프로그램 (내가 아는 것)은 실행될 때 즉시 종료되는 프로그램이 없습니다 (적어도 의도적으로는).

그러나 Windows Vista 이상에서는 timeout.exe 유틸리티가 있습니다. Timeout.exe지정된 시간 (초) 동안 기다렸다가 종료합니다. 예를 들면 다음과 같습니다.

C:\>timeout /t 0 > nul:

timeout.exe0 초 동안 대기하도록 설정 하면 바로 종료되는 EXE에 접근하는 것과 거의 비슷합니다.


3
Op가 원하는 것을 수행하려면 "timeout / t 0> nul :"과 같은 timeout을 사용하십시오.이 명령은 출력없이 timeout 명령을 실행하고 즉시 종료됩니다.
misterjaytee

@misterjaytee 좋은 생각입니다.
Andrew Lambert

@Tom : 콘솔 창 . cmd.exe특별히 실행하지 않으면 명령 프롬프트가 열리지 않습니다 .
grawity

@grawity : 작업 스케줄러에는 명령을 실행하기위한 명령 프로세서가 필요하므로 콘솔 창이 잠깐 표시됩니다.
Tamara Wijsman

@TomWijsman 시도해보십시오. 새 창을 열 수 없습니다.
Andrew Lambert

4

매개 변수없이 "C : \ Windows \ hh.exe"(Microsoft® HTML Help Executable)는 아무 작업도 수행하지 않으며 모든 Windows 버전에 포함되어 있습니다.


2

wscript 인수가 없으면 스크립트가 전혀 실행되지 않으며 "GUI"실행 파일입니다 (콘솔을 열지 않음).


2
인수없이 wscript를 실행하면 "Windows Script Host Settings"가 나타납니다. Windows 7 64 비트 달리기 wscript /b는 작동하는 것 같습니다.
DuckMaestro

2

나는 해봤 rndll32.exehh.exe하지만 둘은 % ERRORLEVEL %의을 변경하지 않았다. 마지막 실행 파일이 성공했는지를 나타내는 환경 변수입니다. 유닉스 리턴 코드처럼 작동합니다.

아래의 noop 명령은 % ERRORLEVEL %을 0으로 설정합니다.

cd %CD%

작업 디렉토리를 현재 디렉토리로 변경하기 만하면됩니다.


0

이 명령 echo off은 배치 (.BAT) 파일 내에서 아무 작업도 수행 하지 않습니다. 실행 파일은 아니지만 Windows 내부 명령입니다.


7
사실 그것은 않습니다 그것은 떨어져 반향 켜 뭔가. 당신이 OFF로 설정 한 경우, 즉 아무것도처럼 보일 수도 있지만,이 경우 원하는 메아리, 그것은 확실히 뭔가를 않습니다.
Synetech

6
그리고 rem처럼, 그것은 Windows exe가 아닙니다
barlop

0

간단한 "Hello World"C ++ 프로그램을 컴파일하여 바로 종료되는 간단한 exe를 작성하십시오.
a.cpp와 같은 이름으로 텍스트 파일에 다음 코드를 저장하십시오.

#include<iostream>
int main()
{ std::cout<<"Hello World";
return 0;
}

그런 다음 Windows 7 용 MinGW와 같은 LATEST C ++ 컴파일러로 컴파일하십시오. MinGW의
경우 PowerShell 또는 명령 프롬프트에서 다음 명령을 실행하십시오. g++ path\a.cpp(g ++ 이진 위치의 환경 PATH 변수를 설정했거나 g ++ 이진 디렉토리 즉 c : \ mingw \ bin 기본적으로). 명령 실행 후 Hello World를 표시하고 종료하는 a.exe가 표시됩니다. 두 번 클릭하여 확인 ... cmd 창이 나타나고 즉시 사라집니다. 명령 행 액세스는 Hello World를 표시하고 CLI 프롬프트로 돌아갑니다.
그런 다음이 a.exe를 system32 또는 Windows의 깊숙한 곳으로 이동할 수 있습니다. Windows의 설치 디스크에서 롤아웃 할 수도 있습니다.


2
C ++ 컴파일러가 Windows에 포함되어 있지 않다고 확신합니다.
Synetech

6
"Hello World"인쇄는 거의 수행되지 않습니다.
키스 톰슨

@Synetech Compilation은 CPU 아키텍처가 동일한 한 번만 필요합니다.
Apple II

1
@KeithThompson BAT 알고리즘과 간섭하지는 않을 것이라고 생각하지만 실제로 중요한 경우 Hello World를 ASCII null 문자로 바꿉니다.
Apple II

5
> 나는 그것이 BAT 알고리즘과 간섭 할 것이라고 생각하지 않지만 실제로 중요한 경우 Hello World를 ASCII null 문자로 바꾸 거나 인쇄 명령을 모두 제거하십시오.
Synetech

0

C로 no-op를 쓸 수 있습니다.

void main() {

}

.exe 파일로 컴파일하십시오. 예를 들어 Visual Studio가 설치되어있는 경우 메모장을 열고 해당 스 니펫을 붙여넣고 noop.c로 저장하고 명령 프롬프트에서 사용 cl noop.c하면 noop.exe파일이 같은 폴더에 출력됩니다 .

먼저 Microsoft Visual Studio X.0폴더 를 찾아 명령 프롬프트에서 Program Files실행 해야 할 수도 있습니다 vcvarsall.bat.


"Windows 설치의 일부"라는 질문의 일부를 놓쳤습니다. 또한 세미콜론은 중복됩니다.
Synetech

-1

이 도구의 주요 목적은 아니지만 WuInstall 의 / donothing 옵션 을 사용할 수 있습니다. 리턴 코드를 지정할 수도 있습니다 ( http://help.wuinstall.com 참조) .


XP 또는 7에 포함되지 않은 것 같습니다. 서버 버전에 포함되어 있습니까?
Synetech
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.