标题: 命令行的长度限制是多少?
作者: Demon
链接: https://demon.tw/programming/what-is-the-command-line-length-limit.html
版权: 本博客的所有文章,都遵守“署名-非商业性使用-相同方式共享 2.5 中国大陆”协议条款。
命令行的长度限制是多少?这取决于你问的是谁。
CreateProcess函数的最长命令行长度为32767字符。这个限制来自于UNICODE_STRING结构。
CreateProcess是创建进程的核心函数,所以如果你直接调用该函数,该限制是你唯一需要注意的地方。但是如果你通过其他方式间接调用CreateProcess,那么可能会有其他限制。
如果你使用的是CMD.EXE命令处理器,那么你同样受到CMD.EXE的长度限制,即8192的命令行长度限制。
如果你正在使用ShellExecute/Ex函数,那么你会受到ShellExecute/Ex函数的长度限制,即不得超过INTERNET_MAX_URL_LENGTH的命令行长度(大约2048字符)(如果你的操作系统为Windows 95,那么该限制为MAX_PATH)
谈到这儿,我还要提到另外一种限制:你所处环境的最大长度为32767字符。环境的最大值包括所有的变量名加上所有的值。
翻译自:What is the command line length limit?
赞赏微信赞赏支付宝赞赏
随机文章:
引用:如果你使用的是CMD.EXE命令处理器,那么你同样受到CMD.EXE的长度限制,即8192的命令行长度限制。
以前刚写代码的时候什么都不懂,调试半天才知道有限制。但是现在,我知道具体长度了,谢谢分享