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
명령 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 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
가 파이프에서 오는 명령을 주의 깊게 읽고 실행하라는 지시를 나타냅니다.
출력:
이 출력은 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
를 출력하도록 설계되어 있습니다.
출력:
이 출력은 Invoke-Expression
에 의해 호출된 CMD
에서 처리된 echo
명령의 직접적인 결과입니다.
결론
이 포괄적인 탐구에서 우리는 윈도우 파워셀 환경 내에서 명령 프롬프트(CMD
) 명령을 실행하는 다재다능함을 탐구하였으며, 직접적인 호출 연산자 &
, cmd.exe
직접 사용, CMD
에의 명령 파이핑 및 동적인 Invoke-Expression
cmdlet의 네 가지 독특한 방법을 다루었습니다. 각 접근 방식은 CMD
의 친숙한 기능을 파워셀의 고급 스크립팅 영역에 통합하는 데 독특한 장점을 제공합니다.
파워셀 전문성을 더욱 향상시키고자 하는 사람들을 위해 커스텀 파워셀 cmdlet 만들기나 고급 파워셀 스크립팅 기술과 같은 고급 주제를 탐구하는 것이 강력히 권장됩니다. 이는 파워셀과 CMD
의 장점을 조화롭게 결합한 보다 정교하고 강력한 스크립팅 솔루션으로 가는 문을 열어줄 것입니다.
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn