自己做的测试:
1、命令行中,一行代码究竟可以写多长?
(win10环境)经过测试,一行代码最多可以输入8192个字符。(8K大)
2、命令行中,一行代码究竟可以使用多少个变量?
(win10环境)经过测试,一行代码最多可以使用1024个变量。(与一行可以使用的最大数值有关)
测试方式:用ffmpeg进行MP3合成。以成功执行代码的代码长度计算。
测试代码:- @echo off
- Setlocal enabledelayedexpansion
- for /l %%a in (1,1,1024) do (
- echo %%a
- set mp3list=!mp3list!^|%%a.mp3
- echo !mp3list! >c:\test\ttt.txt
- )
- c:
- cd \test
- set mp3list=!mp3list:~1!
- echo !mp3list!>n
- echo c:\run\ffmpeg\bin\ffmpeg.exe -y -i concat:^"!mp3list!^" -acodec libmp3lame -ar 48000 -ab 1>m
- c:\run\ffmpeg\bin\ffmpeg.exe -y -i concat:^"!mp3list!^" -acodec libmp3lame -ar 48000 -ab 128k -vol 100 -vn c:\test\mp3.mp3
- pause
复制代码 其中- echo c:\run\ffmpeg\bin\ffmpeg.exe -y -i concat:^"!mp3list!^" -acodec libmp3lame -ar 48000 -ab >m
复制代码 这行代码正好是8192个字符。
测试中有把- for /l %%a in (1,1,1024) do (
复制代码 改为1025- echo !mp3list! >c:\test\ttt.txt
复制代码 段正常输出。
综上所述,cmd的最大命令行长度是8K。当然,仅限win10系统。
我想麻烦大家在其它版本的系统中进行下测试。看看各个windows版本有什么不同。 |