PowerShell에서 CMD 명령 실행 방법

  1. 파워셀 호출 연산자 & 사용하기
  2. cmd.exe를 사용하여 CMD 명령 실행하기
  3. 파워셀을 사용하여 CMD에 파이프하기
  4. 결론
이 기사와 함께 볼 수 있도록 자세한 유튜브 영상을 제작하여 아래에 삽입했습니다!
PowerShell에서 CMD 명령 실행 방법

많은 레거시 명령 프롬프트(CMD) 명령이 윈도우 파워셀 스크립팅 환경에서 작동합니다. 파워셀 환경은 별칭을 사용하여 레거시 환경에서 가장 많이 사용되는 명령인 ping에서 가장 정보 제공이 많은 명령인 tracert까지 이 명령들을 전수합니다.

하지만 명령 프롬프트 터미널에서 실행되는 일부 명령은 윈도우 파워셀의 스크립팅 환경에서 작동하지 않습니다. 이 기사에서는 이를 윈도우 파워셀로 올바르게 전사하는 방법에 대해 논의합니다.

파워셀 호출 연산자 & 사용하기

스크립팅의 다재다능한 세계에서 파워셀은 다른 스크립팅 환경, 특히 명령 프롬프트(CMD)의 명령을 통합하고 실행하는 능력으로 돋보입니다. 이를 달성하는 가장 직접적인 방법 중 하나는 호출 연산자(&)를 사용하는 것입니다.

이 기사는 파워셀 내에서 CMD 명령을 실행하기 위한 호출 연산자의 사용을 다룹니다. 이는 파워셀과 전통적인 CMD 스크립트의 기능을 연결하고자하는 사람들에게 매우 귀중한 기술입니다.

호출 연산자를 사용하는 기본 구문은 다음과 같습니다:

& <Command-String> <Arguments>
  • &: 이것이 호출 연산자입니다.
  • <Command-String>: 이것이 실행하고자 하는 명령입니다. 이 명령은 CMD 명령, 파워셀 cmdlet 또는 스크립트 블록일 수 있습니다.
  • <Arguments>: 이것은 선택 사항이며 명령이 필요로 하는 인수나 매개변수를 나타냅니다.

예제 코드:

& cmd.exe /c echo "Hello from CMD"

이 스크립트에서는 호출 연산자 &를 사용하여 파워셀 내에서 CMD 명령을 매끄럽게 실행합니다. 첫째, 우리는 명령 프롬프트의 지정된 실행 파일인 cmd.exe를 호출하여 올바른 명령줄 환경 내에서 작업하고 있음을 보장합니다.

그런 다음 /c 매개변수를 cmd.exe에 전달합니다. 이는 명령 프롬프트가 지정된 명령을 실행하고 그 후 즉시 종료하도록 지시하는 중요한 지침입니다. 우리가 선택한 명령인 echo "Hello from CMD"Hello from CMD라는 메시지를 콘솔에 단순히 인쇄하는 간단하면서도 효과적인 데모입니다.

출력:

파워셸에서 cmd 명령 실행 - 출력 1

이 출력은 CMD 명령 echo가 파워셀 내에서 성공적으로 실행되어 의도한 메시지를 표시했음을 보여줍니다.

cmd.exe를 사용하여 CMD 명령 실행하기

CMD 명령을 실행하는 또 다른 예는 cmd.exe를 사용하는 것입니다. 우리는 이전 방법처럼 윈도우 파워셀 내에서 cmd.exe를 추가할 수 있습니다.

추가한 후 실행하면 윈도우 파워셀 명령 프롬프트 내에서 명령줄 인터페이스를 호출합니다.

파워셀 내에서 cmd.exe를 직접 사용하는 구문은 다음과 같습니다:

cmd.exe /c "<Command-String>"
  • cmd.exe: 이것이 명령 프롬프트의 실행 파일입니다.
  • /c: 이는 cmd.exe에 문자열로 지정된 명령을 수행하도록 지시하고 종료합니다.
  • "<Command-String>": 이것이 실행하고자 하는 CMD 명령 또는 명령의 시퀀스입니다.

예제 코드:

cmd.exe /c "echo Hello from CMD"

이 스크립트에서는 /c 매개변수를 사용하여 관심 있는 명령인 echo Hello from CMD와 함께 cmd.exe를 직접 호출하여 CMD 기능을 파워셀에 통합합니다. cmd.exe /c를 사용함으로써 우리는 파워셀과 CMD 사이의 다리를 놓아 파워셀 스크립트 내에서 친숙한 명령줄 환경과 CMD의 기능에 접근할 수 있게 됩니다.

명령 "echo Hello from CMD"는 이 통합의 간단하면서도 설명적인 예제로, 우리가 원하는 텍스트를 콘솔에 인쇄하도록 설계된 기본 CMD 명령입니다.

출력:

파워셸에서 cmd 명령 실행 - 출력 2

이 출력은 파워셀에서 CMD echo 명령이 성공적으로 실행되어 Hello from CMD라는 메시지를 표시했음을 나타냅니다.

파워셀을 사용하여 CMD에 파이프하기

윈도우 파워셀에서는 cmd cmdlet을 사용하여 명령 프롬프트 터미널로 전달할 수 있습니다.

파워셀에서 CMD로의 파이프는 주로 CMD 명령이나 배치 스크립트를 파워셀 컨텍스트 내에서 실행하는 데 사용됩니다. 이 방법은 직접적인 파워셀 동등물이 없거나 레거시 CMD 스크립트를 다룰 때 특히 유용합니다.

파워셀에서 CMD로 파이프하는 기본 구문은 다음과 같습니다:

"<Command-String>" | cmd.exe /c -
  • "<Command-String>": 이건 실행하고자 하는 CMD 명령입니다.
  • |: 이것이 파워셀 파이프 연산자로, 한 명령의 출력을 다른 명령의 입력으로 전달합니다.
  • cmd.exe /c -: 이것은 파이프를 통해 전달된 명령을 실행하기 위해 명령 프롬프트를 호출합니다. - 기호는 cmd.exe가 표준 입력(stdin)에서 명령을 기대해야 함을 의미합니다.

예제 코드:

"echo Hello from CMD" | cmd.exe

이 예제에서는 파이핑 기술을 사용하여 문자열 "echo Hello from CMD"cmd.exe로 전송하여 파워셀의 파이핑 능력과 CMD의 명령 실행을 우아하게 결합합니다.

우리의 여정은 "echo Hello from CMD"로 시작되며, 이는 특정 메시지를 CMD 환경에서 실행할 때 표시하도록 설계된 간단하면서도 효과적인 CMD 명령입니다.

그런 다음 우리는 파워셀의 강력한 도구인 파이프 연산자 |를 사용하여 이 명령 문자열을 cmd.exe로 매끄럽게 전달합니다. 이 과정의 절정은 cmd.exe /c -에서 관찰되며, 여기서 - 기호는 cmd.exe가 파이프에서 오는 명령을 주의 깊게 읽고 실행하라는 지시를 나타냅니다.

출력:

PowerShell에서 cmd 명령 실행 - 출력 3

이 출력은 CMD echo 명령의 결과로, Hello from CMD를 화면에 인쇄합니다.

Invoke-Expression을 사용하여 파워셀에서 CMD 명령 실행하기

파워셀 내에서 CMD 명령을 실행하는 다재다능하고 강력한 방법은 Invoke-Expression cmdlet을 사용하는 것입니다. 이 접근법은 동적으로 명령이나 스크립트 블록을 구성하고 실행할 필요가 있을 때 특히 유용합니다.

이 기사는 CMD 명령을 실행하기 위한 파워셀 내 Invoke-Expression 방법의 목적, 적용 및 사용에 대해 다룹니다.

Invoke-Expression의 구문은 다음과 같습니다:

Invoke-Expression -Command "<Command-String>"
  • -Command: 이것이 실행할 명령을 지정합니다. 이 매개변수는 -C로 축약할 수 있습니다.
  • "<Command-String>": 이것이 실행될 명령을 포함하는 문자열입니다.

예제 코드:

Invoke-Expression -Command "cmd.exe /c echo Hello from CMD"

우리의 스크립트에서는 Invoke-Expression의 힘을 활용하여 문자열로 캡슐화된 CMD 명령을 능숙하게 실행합니다. 우리의 과정은 명령 문자열을 해석하고 실행할 수 있는 기능을 파워셀에 부여하는 핵심 cmdlet과 매개변수 조합인 Invoke-Expression -Command로 시작됩니다.

그런 다음 "cmd.exe /c echo Hello from CMD"를 선택한 명령 문자열로 도입합니다. 이 문자열은 cmd.exe/c 매개변수를 사용하여 후속 명령을 실행하고 그 프로세스를 종료하라는 지시를 내립니다.

이 문자열에 내장된 echo 명령은 우리가 실행하는 내용의 핵심으로, CMD에서 Hello from CMD를 출력하도록 설계되어 있습니다.

출력:

파워셸에서 cmd 명령 실행 - 출력 4

이 출력은 Invoke-Expression에 의해 호출된 CMD에서 처리된 echo 명령의 직접적인 결과입니다.

결론

이 포괄적인 탐구에서 우리는 윈도우 파워셀 환경 내에서 명령 프롬프트(CMD) 명령을 실행하는 다재다능함을 탐구하였으며, 직접적인 호출 연산자 &, cmd.exe 직접 사용, CMD에의 명령 파이핑 및 동적인 Invoke-Expression cmdlet의 네 가지 독특한 방법을 다루었습니다. 각 접근 방식은 CMD의 친숙한 기능을 파워셀의 고급 스크립팅 영역에 통합하는 데 독특한 장점을 제공합니다.

파워셀 전문성을 더욱 향상시키고자 하는 사람들을 위해 커스텀 파워셀 cmdlet 만들기나 고급 파워셀 스크립팅 기술과 같은 고급 주제를 탐구하는 것이 강력히 권장됩니다. 이는 파워셀과 CMD의 장점을 조화롭게 결합한 보다 정교하고 강력한 스크립팅 솔루션으로 가는 문을 열어줄 것입니다.

Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn