2012-09-27 2 views

답변

8

이론적 최대 값은 2GB 상당의 인수입니다. :-) 그 사실은 맵핑되지 않은 args가 Object 배열 ($args)에 매핑되고 .NET 2.0/4.0 (4.5가 설치된)의 배열이 Int32.MaxValue까지 인덱싱 될 수 있다는 사실에서 비롯됩니다. 내가 이해하는 바로는 실제 제한에 따라 실제 제한이 다소 낮습니다. FWIW PowerShell에서 크기가 128MB 인 배열을 만들 수 있습니다. 인수의 수에 대한보다 현실적인 제한은 명령 줄 길이에 대한 제한이라고 생각합니다. 한 번에 cmd.exe는 max line length of 8191입니다. PowerShell의 최대 용량은 모르겠지만 cmd.exe의 최대 용량과 비슷할 것이라고 추측 할 수 있습니다. 또한 외부 프로세스를 시작해야하는 경우이 셸은 프로세스에 전달 된 명령 줄에 대해 CreateProcess API it has a limit of 32,767 characters을 통과합니다.

+0

우수한 세부 사항, 감사합니다! – CIGuy

0

제한 사항을 알지 못해요. 사용하려는 사람이 몇이나됩니까?

+0

감사합니다. 특정 사용 사례가 없기 때문에 제한이있는 경우 궁금했습니다 (특히 배치 파일의 인수 제한을 고려함). – CIGuy

관련 문제