Windows批处理 - 每个命令的字符限制?

时间:2017-10-23 05:28:04

标签: windows batch-file

我有问题。我不知道我是不是做了一些愚蠢的事情,因为我在大多数情况下都在使用bash。 Windows批处理完全不同。

我想为mkvmerge生成参数,所以首先我将dir命令转储到txt文件,然后我为mkvmerge语法生成命令,然后再将其转储到txt文件。

setlocal enableextensions enabledelayedexpansion

dir /b /a-d fonts > temp_fn.txt
copy /y NUL temp_fn2.txt >NUL

set i=0
for /F %%a in (temp_fn.txt) do (
   set /A i+=1
   set array[!i!]=%%a
)
set n=%i%

for /L %%i in (1,1,%n%) do <NUL set /p= --attachment-name !array[%%i]! --attachment-mime-type application/x-truetype-font --attach-file ^^^^"L:\fonts\!array[%%i]!^^" >> temp_fn2.txt

pause

不幸的是,当我尝试将该文件导入变量然后使用echo进行测试时,将删除一半参数(或更确切地说是字符)(从最后开始,更确切地说 - 在第2024个字符之后)。

set /p args=<temp_fn2.txt
echo %args%

批量变量是否有限?或者也许有更好的方法来实现它?

0 个答案:

没有答案