cmd에서 powershell 명령을 실행하십시오.


32

cmd 에서이 명령을 실행하는 방법 :

powershell.exe "(get-process |? {$ _. Description -eq"Sysinter Process Explorer "}) | processname | out-file $ env : APPDATA \ example.txt"선택

여전히이 오류가 발생합니다.

'-eq'연산자의 오른쪽에 값 표현식을 제공해야합니다. 1 행 : char : 37 + (get-process |? {$ _. Description -eq <<<< Sysinternals Process Explorer}) | 프로세스 이름 선택 | 출력 파일 $ env : APPDATA \ example.txt + CategoryInfo : ParserError : (:) [], ParentContainsErrorRecordEx ception + FullyQualifiedErrorId : ExpectedValueExpression


3
문제는 내부 인용 부호 집합 일 수 있습니다. 그것들을 제거하거나 그것들을 사용해야한다면,이 녀석을 사용해보십시오 : '일명 아포스트로피.
DeathByTensors

2
경고 -게시물에 음란물을 사용하지 마십시오. 당신을 위해 그것을 제거했습니다. 다른 사용자가 게시물을 "무례하거나 모욕적"으로 표시하여 담당자 손실 또는 정지 가능성이 있습니다. 읽어 보시기 바랍니다 멋진 일 "성적 암시 저속한 용어와 아무것도하지 마십시오"
DavidPostill

답변:


41
powershell -command "get-process | ? {$_.Description -eq 'Sysinter Process Explorer'} | select processname | out-file $env:APPDATA\example.txt"

기본적으로 powershell 명령이 있으며이 따옴표 사이에 붙여 넣어 CMD에서 호출하십시오.

powershell -command " #PasteCodeHere "

이 따옴표 안에서 작업해야합니다. '그렇지 않으면 명령 매개 변수가 중단됩니다.

편집 : 추가 정보 :

아주 자주 당신은 이것을 보게 될 것입니다 : powershell -command "& 'somestuff'"

&파일을 호출하는 데 사용됩니다. 명령 만 사용하는 &것이 중요하지 않은 경우, 스크립트를 호출하려면 명령 을 사용해야합니다.

powershell -command "& 'C:\foobar.ps1'"

powershell -file C:\file.ps1스크립트를 호출하는 데 사용할 수도 있습니다


U는 최고의 사람입니다 <3 작동합니다
Qassam Mahmoud

3
실행할 명령에 따옴표가 있으면 두 배로해야합니다. 예 : powershell -command "dir" "c : \ Program Files" ""
Myobis

1
@myobis 또는 작은 따옴표를 사용할 수 있습니다powershell -command " dir 'C:\Program Files' "
SimonS

1
@myobis 실제로 따옴표를 두 배로 늘려도 작동하지 않습니다 (Windows 10 cmd에서). 그러나 백 슬래시 이스케이프를 사용하여 다음을 수행했습니다.powershell -command "dir \"c:\Program Files\" "
wisbucky

0

Edge를 재설정하기 위해 다음 명령을 배치 파일에 배치했습니다 (때로는 문제가 발생했습니다). 그런 다음 배치 파일이 관리자 수준에서 실행되었습니다. powershell 줄의 트리플 따옴표에 유의하십시오. 이 예는 "cmd"명령 행에서 powershell 명령을 실행하려는 사용자를 위해 명확하게 설명 할 수 있습니다.

@echo off
c:
cd %userprofile%\AppData\Local\Packages\Microsoft.MicrosoftEdge_8wekyb3d8bbwe
rmdir /s /q 
userprofile%\AppData\Local\Packages\Microsoft.MicrosoftEdge_8wekyb3d8bbwe
powershell "Get-AppXPackage -AllUsers -Name Microsoft.MicrosoftEdge | Foreach 
{Add-AppxPackage -DisableDevelopmentMode -
  Register"""$($_.InstallLocation)\AppXManifest.xml""" -Verbose}"

Powershell 줄에 "triple"따옴표가 있습니다. 그런데이 줄은이 주석 상자에 "For Each"와 "-Register"가 포함 된 한 줄입니다. 배치 파일 (또는 수동으로 cmd세션에 입력 한 경우 명령 행)에있는 단일 행이어야합니다 .

중요한 것은 단어 "PowerShell"반전 된 쉼표 ( ")가 명령을 시작하고 종료 한 후 이미 전달 된 powershell 명령에있는 내부 반전 된 쉼표는"트리플 "따옴표 ( """) 로 변환된다는 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.