命令行的长度限制是多少?

标签: , ,

命令行的长度限制是多少?这取决于你问的是谁。

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?

赞赏

微信赞赏支付宝赞赏

随机文章:

  1. ass2srt.vbs(ass/ssa批量转换srt)
  2. VBS脚本中Sleep方法的最大延迟时间
  3. OpenWrt安装tcpdump抓包
  4. 再谈CreateObject函数,VBS到底能调用哪些对象?
  5. 用EditPlus+BCC5.5搭建C语言学习环境

一条评论 发表在“命令行的长度限制是多少?”上

  1. 郑斯彬说道:

    引用:如果你使用的是CMD.EXE命令处理器,那么你同样受到CMD.EXE的长度限制,即8192的命令行长度限制。

    以前刚写代码的时候什么都不懂,调试半天才知道有限制。但是现在,我知道具体长度了,谢谢分享

留下回复