Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays Windows批处理-将多个文本文件合并为一个。文本文件名存储在列表中_Arrays_Windows_Batch File_Cmd - Fatal编程技术网

Arrays Windows批处理-将多个文本文件合并为一个。文本文件名存储在列表中

Arrays Windows批处理-将多个文本文件合并为一个。文本文件名存储在列表中,arrays,windows,batch-file,cmd,Arrays,Windows,Batch File,Cmd,我是windows批处理的新手-我想使用windows批处理将多个文本文件连接成一个。要组合的文件在列表中指定,可以是动态的。我有一个单独的文件目录a.txt、b.txt、c.txt。。。。z、 txt。我需要将它们的一个子集连接到一个merged.txt文件中 例如,如果列表是输入列表 集合列表=a f z 然后我希望merged.txt包含a.text、f.txt和z.txt的内容。 我已经尝试过的想法是 1) 键入*.txt>merged.txt:-对我不起作用,因为这样会合并所有文本文件

我是windows批处理的新手-我想使用windows批处理将多个文本文件连接成一个。要组合的文件在列表中指定,可以是动态的。我有一个单独的文件目录a.txt、b.txt、c.txt。。。。z、 txt。我需要将它们的一个子集连接到一个merged.txt文件中 例如,如果列表是输入列表

集合列表=a f z

然后我希望merged.txt包含a.text、f.txt和z.txt的内容。 我已经尝试过的想法是

1) 键入*.txt>merged.txt:-对我不起作用,因为这样会合并所有文本文件

2) 复制a.txt+f.txt+z.txt merged.txt:-但这将仅用于这一输入


有人有什么想法吗?

不确定如何调用批处理文件,因此这是悬而未决的问题

但我认为你已经接近了a.txt+f.txt+z.txt合并的副本

只需使用命令行参数动态构建该列表(最多可以有9个)

然后,将使用

merge-them.cmd a b c f
或者你可以设置一个变量,比如

mylist=a,b,c,f

然后FOR循环将引用%mylist%,而不是%*

不确定如何调用批处理文件,因此这是悬而未决的

但我认为你已经接近了a.txt+f.txt+z.txt合并的副本

只需使用命令行参数动态构建该列表(最多可以有9个)

然后,将使用

merge-them.cmd a b c f
或者你可以设置一个变量,比如

mylist=a,b,c,f

然后FOR循环将引用%mylist%,而不是%*

FOR命令用于处理列表:

set "list=a f z"
for %%a in (%list%) do type %%a.txt >>merged.txt
注意:
%%a
是批处理文件语法。如果要直接在命令行上使用它,请改用
%a

下面的速度更快(因为它只打开了目标文件一次),但是如果列表中只有几个条目,您不会注意到它(对于一个巨大的列表,这可能快几百倍):


for
命令用于处理列表:

set "list=a f z"
for %%a in (%list%) do type %%a.txt >>merged.txt
注意:
%%a
是批处理文件语法。如果要直接在命令行上使用它,请改用
%a

下面的速度更快(因为它只打开了目标文件一次),但是如果列表中只有几个条目,您不会注意到它(对于一个巨大的列表,这可能快几百倍):


这不是数组,而是列表(您甚至将其命名为
list
)<对于(%list%)中的%%a,请键入%%a.txt>>merged.txt@Stephan感谢您指出这一点。让我把它改成列表。你的解决方案确实对我有用。我不得不将%%a更改为%a(请参考)非常感谢!是-它在命令行上是
%a
,但在批处理文件中是
%a
。这不是数组,而是列表(您甚至将其命名为
列表
)<对于(%list%)中的%%a,请键入%%a.txt>>merged.txt@Stephan感谢您指出这一点。让我把它改成列表。你的解决方案确实对我有用。我不得不将%%a更改为%a(请参考)非常感谢!是-在命令行上是
%a
,但在批处理文件中是
%a
。我尝试了您的解决方案。很好,您可以动态输入要合并的文件。但在我的例子中,我从另一个文件中读取了要合并的文件列表,所以Stephan的解决方案对我来说已经足够了。我尝试了你的解决方案。很好,您可以动态输入要合并的文件。但在我的例子中,我从另一个文件中读取了要合并的文件列表,因此Stephan的解决方案对我来说已经足够了。