在批处理脚本中连接文件



我有一个批处理脚本,可以连接索引文件中列出的文件的内容。它曾经工作过,直到路径中有空格。我已经编辑了一下,但它是这样的:

SET INPUT="C:Has Spaces In Pathindexfile.txt"
SET ROOT="C:Has Spaces In Pathinputdirectory"
SET OUTPUT="C:Has Spaces In Pathoutputdirectorymergedfile.txt"
FOR /F %%A IN (%INPUT%) DO TYPE "%ROOT%%%A" >> "%OUTPUT%"

我遇到的问题是 %INPUT% 现在似乎在 for 循环中被标记化,如果我在它周围加上引号(即"%INPUT%"),它也不起作用。有什么方法可以让这个循环遍历 INPUT 指定的文件中的每一行并将内容连接到 OUTPUT 文件?

谢谢。

编辑:根据答案,这做了我想要的:

FOR /F %%A IN ('type "%INPUT%"') DO TYPE "%ROOT%%%A" >> "%MERGED%"
FOR /F %%A IN ('type %INPUT%') DO echo %%A

' 将导致执行语句并像文件源一样使用输出

FOR /F "usebackq" %%A IN ("%INPUT%") DO TYPE "%ROOT%%%A" >> "%OUTPUT%"

或者,更好的是:

(FOR /F "usebackq" %%A IN ("%INPUT%") DO TYPE "%ROOT%%%A") > "%OUTPUT%"

有关更多详细信息,请参阅:FOR /?

相关内容

  • 没有找到相关文章

最新更新