powershell 文件内容合并
# 合并目录下的所有文件,并以UTF8格式保存到指定文件 function funcCombinFilesInUTF8($fileDir, $destFile) { echo ‘‘ | out-file -Encoding utf8 -filepath $destFile $fileList = Get-ChildItem $fileDir Foreach($file in $fileList) { get-content $file.fullname | out-file -append -Encoding utf8 $destFile echo ‘‘ | out-file -append -Encoding utf8 $destFile } } function funcCombinFiles($fileDir, $destFile) { echo ‘‘ > $destFile $fileList = Get-ChildItem $fileDir Foreach($file in $fileList) { get-content $file.fullname >> $destFile echo ‘‘ >> $destFile } } funcCombinFilesInUTF8 ‘C:\Users\shadow\Desktop\tmp‘ ‘C:\Users\shadow\Desktop\tmp_all.txt‘ funcCombinFiles ‘C:\Users\shadow\Desktop\tmp‘ ‘C:\Users\shadow\Desktop\tmp_all2.txt‘
改进后的脚本:
#文件夹和输入文件件 $fromDir=‘D:\.weibo_chat.tar\txt\‘ $saveToDir=‘D:\.weibo_chat.tar\txt\合并后的文本\‘ if(-not (Test-Path $fromDir)){ echo ‘请输入正确的文件所在路径!‘ return } if(-not (Test-Path $saveToDir)){ mkdir $saveToDir } function funcCombinFiles($fileDir, $destFile) { echo ‘‘ > $destFile $fileList = Get-ChildItem -Depth 1 $fileDir -r *.txt Foreach($file in $fileList) { get-content $file.fullname >> $destFile echo ‘‘ >> $destFile } } #输出文件名 $now= Get-Date -Format ‘yyyy-MM-dd-HH-mm-ss‘ $fileName =$saveToDir+$now+‘.rtf‘ funcCombinFiles $fromDir $fileName