Batch file 如何使用类型与批处理链接源和目标

Batch file 如何使用类型与批处理链接源和目标,batch-file,Batch File,这很简单,我知道,但我不知道如何让TYPE连接到 源代码和目标代码 @echo off Set "Source=%~dp0New Folder 1" Set "Target=%~dp0New Folder 2" type (1)_Sets.txt (2)_Sets.txt > (1).txt.tmp ren "(1).txt.tmp" "(1).txt" 我尝试了很多不同的方法,它把文件放在主文件夹中,

这很简单,我知道,但我不知道如何让
TYPE
连接到
源代码
目标代码

@echo off

Set "Source=%~dp0New Folder 1"
Set "Target=%~dp0New Folder 2"

type (1)_Sets.txt (2)_Sets.txt > (1).txt.tmp
ren "(1).txt.tmp"  "(1).txt"

我尝试了很多不同的方法,它把文件放在主文件夹

中,如MMOI已经在评论中建议的,我不会考虑使用<代码>类型< /C>命令,我将使用<代码>拷贝< /C>命令。

@Set“Source=%~dp0新建文件夹1”
@设置“Target=%~dp0新文件夹2”
@如果存在“%Source%\(2)\ u Sets.txt”如果存在“%Target%\”(
复制/Y/B“%Source%\(1)u Sets.txt”+%Source%\(2)u Sets.txt“%Target%\(1.txt”
)

您应该注意,不需要检查是否存在
(1)\u Sets.txt
,因为如果第一个文件不存在,
Copy
命令(此格式)将失败。您还应该注意,无需使用一个名称创建目标文件,然后立即更改该名称,因此我只使用预期的结果名称直接创建了一个目标文件。

我建议打开,运行
copy/?
并阅读输出帮助。在前三个命令行之后,您最喜欢的是
如果不存在“%Source%\(1)\u Sets.txt”退出/B
如果不存在“%Source%\(2)\u Sets.txt”退出/B
,检查两个源文件是否存在,如果两个源文件之一不存在,则退出批处理文件,
md“%Target%”%2>nul
如果不存在“%Target%\”退出/B
以创建目标目录,如果失败则退出批处理文件处理,并作为最后一个命令行
copy/B“%Source%\(1)u Sets.txt”+“%Source%\(2)u Sets.txt“%Target%\(1.txt”
将两个源文件一起复制到目标目录中的目标文件。复制选项
/B
是必需的,否则命令复制会将控制字符EOF(文件结尾)附加到目标文件中,这在这里是绝对不需要的。请注意,源文件
(1)_Sets.txt
应以行结尾,以避免文件
(1)_Sets.txt
结尾的字符串与文件
(2)_Sets.txt
中的第一行合并在一行。Javier Rivas,我注意到您正在使用此答案(它包含在您的文档中发布的代码中)。是否有理由不将其标记为已接受?