【发布时间】:2022-01-22 01:23:44
【问题描述】:
我正在尝试从 txt 文件中读取并连接批处理文件中的行。我遇到了一个意外错误。有没有办法绕过这个错误?
批处理文件:
@ECHO OFF
TITLE Test File
ECHO Long Text Concat Test...
setlocal enableextensions enabledelayedexpansion
set count=1
set tables=
for /f "tokens=*" %%s in (TablesForTest.txt) do (
set tables=!tables! /p:TableData=%%s
set /a count += 1
)
endlocal && set count=%count% && set tables=%tables%
echo count : %count%
echo tables : %tables%
PAUSE
EXIT
输出
The input line is too long.
The syntax of the command is incorrect.
文本文件内容
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
[dbo].[Long_Table_Name]
【问题讨论】:
-
cmd.exe 对一行中的字符数有限制,重要的是,变量环境中可以保存的字符数也有限制。对此的“绕过”是尝试为此任务使用或合并 Windows PowerShell 脚本。
-
@Compo 我在powershell中试过了,同样的错误出现了
-
serefbilge,您在问题中根本没有提到这一点,或者以任何方式暗示它。我目前无法读心。因此,我建议您 edit 您的问题标题、正文和标签,以便 PowerShell 特定成员资格可以帮助您解决 PowerShell 问题。
-
@Compo 我在你的建议之后尝试了 powershell,而不是之前。
-
在
cmd.exe中,行被限制为大约8190字节/字符,环境变量也是如此(包括它们的名称和=-符号,因为它们每个都像VAR=Value一样存储) …
标签: batch-file concatenation file-read