use*_*026 4 windows-xp dos batch-file
在.bat文件中运行long命令时(比如300个字符长度)
例如:
Some_exe "C:/Documents and Settings/Some user/Some folder1/Some folder2/Some folder3/Some folder4 ... -Some_exe_arg1="arg 1 name" -Some_exe_arg2="arg 2 name" -Some_exe_arg3="arg 3 name"
Run Code Online (Sandbox Code Playgroud)
CMD.exe可以处理的行大小是否有限制?我应该使用.CMD还是.BAT?有什么方法可以克服这个限制吗?
谢谢!
最大批处理行长度的最小值为8191字节!
这意味着一行可以在任何情况下长8191个字节,但也可以创建具有几乎无限长度的合法批量行.
样品
echo Longline with 8191 characters.........
set "var=a"
echo UltraLongLine %var:4000chars=% %var:4000chars=% %var:4000chars=% %var:4000chars=%
echo Test <8000Chars <8000chars <8000chars .... <nul
Run Code Online (Sandbox Code Playgroud)
关键在于解析后所有行都小于8192字节
从XP开始的所有Windows版本都支持最大批处理行长度为8191字节:http://support.microsoft.com/kb/830473
通常,可执行文件通过允许在文件中指定参数值来绕过命令行长度限制.例如,FINDSTR具有/ G:filename选项,该选项指定包含搜索字符串的文件的名称.
关于行长度,.BAT与.CMD之间没有区别.实际上,它们之间几乎没有区别:https://stackoverflow.com/a/148991/1012053.(注意 - 大多数质疑链接答案准确性的评论早于最新编辑的答案版本.链接的答案现在是正确的.)
| 归档时间: |
|
| 查看次数: |
4661 次 |
| 最近记录: |