powershell에 명령의 N 자 제한이 있다고 가정 할 때 powershell cmdlet에 N 개 이상의 문자를 전달하려면 어떻게해야합니까? https://support.microsoft.com/en-in/kb/830473 링크를 기준으로하면 글자 수 제한은 8191이지만 cmd.exe의 경우 powershell에 대한 크기 제한이 무엇인지 모릅니다. 따라서 8KB가 넘는 크기의 입력이있는 경우이 문제를 피하기 위해 입력을 powershell로 리디렉션 할 수 있습니까 (참조 된 문서에 언급 된 내용에 기반한 솔루션).powershell에 큰 입력을 전달하는 방법
예 :
PowerShell 콘솔의 $> 에코 "매우 긴 문자열"// 에코와 PowerShell 콘솔 미만 8192 문자에 달하는 매우 긴 문자열을 포함하여 전체 명령. 이걸 실행할 때 전체 문자열을 콘솔의 출력으로 얻습니다.
powershell console $> echo "매우 긴 문자열 // 매우 긴 문자열에 문자를 추가하려고하면 powershell이 더 이상 추가 할 수 없습니다. 입력 할 수있는 문자 수의 한계에 도달했기 때문에 합계가 8192를 넘으면 매우 긴 문자열로 문자가 바뀝니다.
내가 원하는 것은 :
PowerShell 콘솔의 $> 에코 // 파일에서 (이상 8192 개 문자입니다) 내 입력을 놓고 반향 입력으로 그 제공을하고에 전체 문자열을 표시한다 에코 콘솔에서 명령의 문자 수 제한을 회피합니다.
내가 사용한 명령 에코는 표현 목적으로 만 사용되며이 대신 올바른 사용자 지정 cmdlet을 사용하려고합니다.
편집 2 :
는psm1 파일 :
Function DoSomething {
[CmdletBinding()]
Param(
[Parameter(
Mandatory = $False)
]
[string]$v1,
[Parameter(
Mandatory = $False)
]
[string]$v2)
Begin {}
Process {
Write-Output "hello $v1 | $v2"
}
}
텍스트 파일의 내용은 (표현 목적으로 짧지 만,이 이상 8K 자까지 가능합니다 가정) content.txt 말 :
-v1 "t1" -v2 "qwe"
지금 내가 할 때
powershell Console$> DoSomething (Get-Content content.txt)
내가 할 10
출력은
hello -v1 "t1" -v2 "qwe" |
내가 cmdlet의 실행이 문제없이 일어날 수 있도록 출력이
hello -v1 "t1" | -v2 "qwe"
이 될 것으로 기대한다. 텍스트 파일에서 8k 이상의 문자를 사용하여이 작업을 시도했지만 출력을 인쇄 할 수 있습니다. 매개 변수가 분리되지 않는 것입니다. cmdlet에 입력을 제공하는 명령은 Get-Content 일 필요는 없으며 작동하는 한 아무 것도 될 수 있습니다.
당신은 PowerShell에 입력 제한이 있다고 가정하고 있지만이 제한은 CMD.EXE를 기준으로합니까? 그것은 당신이 PowerShell에서 CMD.EXE로 전달할 입력을 기대할 것이기 때문입니까? 실행할 cmdlet을 명확히 할 수 있습니까? 우리에게 특정 [mcve]를 제공 하시겠습니까? – gravity
@gravity 답장을 보내 주셔서 감사합니다. 아니요, 입력이 CMD.exe로 전달되지 않거나 반대의 경우도 마찬가지입니다. 나는 많은 실을 읽고 나는 8k를 언급 한 것을 보았다. 대체 설명에 대해 이야기 한 이래로이 링크를 줬습니다. 실행하려고하는 cmdlet에 대한 질문에 복사 및 확장을 통해 생성 된 임의의 문자열 인 echo "<임의의 문자열>"을 시도 했으므로 일부는 약 8175 정도의 한계에 도달했습니다. 890을 초과 할 수도 있습니다. 따라서이를 고려해야합니다. 이 cmdlet은 사용자 지정 cmdlet 용입니다. – randomuser15995183
나는 여전히 [mcve]를 보여줄 것을 권하고 싶습니다. 한계에 관한 한 당신이 뭘하고 있는지 명확하게 밝히지는 않습니다. 나는 추측을하지만 질문이 명백하게 분명하지 않으면 대답하지 않을 것입니다. 예를 들어 PowerShell cmdlet에서 왜'echo'를 사용하는지 확신 할 수 없습니다. – gravity