
for /f "tokens=* delims=" %%b in (a.txt) do (
for /f "tokens=* delims=" %%a in ('dir /b *.txt') do (
echo,%%b>>"%%a"
))
你把要合并的TXT文件放在一同一个文件夹里面了,要详细我就举个例子了,现在假设C盘目标下有一个sun文件夹里有三个TXT的文件分别叫:s1.txt s2.txt s3.txt你要把这三个文件合并在一起 写一个批处理:@echo offcopy s1.txt+s2.txt+s3.txt sun1.txt
这段代码的意思就是合并三个文件,重命名为sun1.txt 如果你不指定重命名的话,就会默认为第一个文件的名字!这下懂了不
不清楚你的实际文件/情况,仅以问题中的说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI<# :
cls&echo off&mode con lines=5000
rem 将两个指定文件夹里相同名称的文件拷贝/复制到同一个新的文件夹里
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
powershell -NoProfile -ExecutionPolicy bypass "[IO.File]::ReadAllText('%~f0',[Text.Encoding]::GetEncoding('GB2312'))|Invoke-Expression"
echo%#% +%$%%$%/%@% %z%
pause
exit
#>
$oldfolder=@("D:\xxx\文件夹1","D:\yyy\文件夹2")
$newfolder="E:\新文件夹"
if(-not (test-path -liter $newfolder)){[void][IO.Directory]::CreateDirectory($newfolder)}
[byte[]]$b=@(32,45,45,62,32)
$c=[Text.Encoding]::Default.GetString($b)
$dic=New-Object 'System.Collections.Generic.Dictionary[string,Object]'
for($i=0$i -lt $oldfolder.length$i++){
if(test-path -liter $oldfolder[$i]){
$files=@(dir -liter $oldfolder[$i] -recurse|?{$_ -is [System.IO.FileInfo]})
for($j=0$j -lt $files.length$j++){
$key=$files[$j].Name.toLower()
if(-not $dic.ContainsKey($key)){
$brr=New-Object -TypeName System.Collections.ArrayList
$dic.add($key,$brr)
}
[void]$dic[$key].add($files[$j])
}
}else{write-host ('"'+$oldfolder[$i]+'" 未找到') -ForegroundColor red}
}
foreach($k in $dic.Keys){
if($dic[$k].Count -ge 2){
for($i=0$i -lt $dic[$k].Count$i++){
$newname=$dic[$k][$i].Name
$newfile=$newfolder.trimend('\')+'\'+$newname
$n=2
while(test-path -liter $newfile){
$newname=$dic[$k][$i].BaseName+' ('+$n.toString()+')'+$dic[$k][$i].Extension
$newfile=$newfolder.trimend('\')+'\'+$newname
$n++
}
$dic[$k][$i].FullName+$c+$newfolder
}
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)