zoukankan      html  css  js  c++  java
  • windows命令行长度的限制

    http://support.microsoft.com/kb/830473

    此文大致内容如下:

    在windows XP或更高版本,命令行的最大长度为8191 个字符
    在windows2000或windows NT4.0,命令行的最大长度为2047个字符

    这个限制对于环境变量同样有效,例如 windows XP下,PATH不能超过8191个字符

    如果使用cmd运行批处理文件(即.bat),这个限制同样有效

    解决方法如下:
    将程序的命令行放在一个文本中,程序从这个文本中读取命令行。

    对于 javac来说,它的命令行支持 Argument File,在这个Argument File中,可以指定编译选项和文件名,语法如下:
    javac @argument_file

    原则上,如果这个程序使用cmd执行,那么就会存在这样的限制。

    有一点疑问,使用CreateProcess创建的程序还存在这点限制么,查了下MSDN,它是这样描述的:
    The maximum length of this string is 32K characters
    也就是说,使用CreateProcess创建的程序不存在这样的限制,使用它,命令行的长度可以达到32K个字符
  • 相关阅读:
    Markdown学习
    二叉树的最近公共祖先
    javaCompiler简析
    自定义类加载器
    聚合和组合的区别
    拓扑排序
    C++ map和unordered_map
    静态文件加载路径
    文件上传
    jackson
  • 原文地址:https://www.cnblogs.com/hdtianfu/p/2804961.html
Copyright © 2011-2022 走看看