下面的代码获取逗号分隔的字符串列表,用一些标记包围它们并将输出写到文件中。对于短列表来说很好,但是对于长(200个字符串)列表,我可以得到一半的项。
setlocal enabledelayedexpansion
SET /p CS_VALUES=<%1
SET TEMP_FILE="D:\tmp.txt"
>%TEMP_FILE% ECHO:
FOR %%i in (%CS_VALUES%) do (
SET query="<quer:string>%%i</quer:string>"
>>%TEMP_FILE% ECHO !query:~1,-1!
)
ECHO %TEMP_FILE%因此,对于输入:A00000, A00001, .... , A00200,我将得到如下内容:
<quer:string>A00000</quer:string>
<quer:string>A00001</quer:string>
<quer:string>A00002</quer:string>
....
<quer:string>A00</quer:string>(在该项中间的某个变量<200处停止)
我假设它与某些限制有关,但不知道该如何扩展它(或者如果不可能扩展--知道限制是什么会很好)。
发布于 2017-12-18 14:38:29
发布于 2017-12-18 14:05:06
下面是一个For /F选项示例。
@Echo Off
>"D:\tmp.txt" (For /F "UseBackQ Delims=" %%A In ("%~1"
) Do Echo ^<quer:string^>%%~A^</quer:string^>)https://stackoverflow.com/questions/47869501
复制相似问题