아무것도하지 않는 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.exe및 hh.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.