合并txt。通过文件的PowerShell NANE文件作为值

时间:2018-08-07 15:24:24

标签: powershell powershell-v2.0

美好的一天

我的文件夹中有多个唯一的txt文件,我需要将它们合并到一个文件名为txt的文件中

满足我的需求:

public state = {
  firstName: this.props.firstName;
}

public firstNameInputChangeListener = (event) => {
  this.setState({ firstName: event.target.value });
}

public submitButtonListener = (event) => {
  this.props.setFirstName(this.state.firstName);
}

我有这个:

value1;filename1
value2;filename1
value1;filename2
value2;filename2
value3;filename2 
value4;filename3
...   ;  ...

将所有值都提供给一个文件,但没有文件名。

感谢您帮助我设置Powershell代码,该代码为我提供了多个txt文件中的值,并将这些值合并为一个带有文件名的文件。

2 个答案:

答案 0 :(得分:1)

您可以这样做:

Get-Childitem C:\Users\ltester\Desktop\test\* -include '*.txt' -rec | % {"$(Get-Content $_);$_.Name"} | Out-file C:\Users\ltester\Desktop\result.txt -Append 

这会将每个文件的内容与文件名一起写入result.txt。

说明:

%-管道给定的foreach文件

"$(Get-Content $_)-写入管道给定文件的内容

;$_.Name-附加;并为输出指定文件名

答案 1 :(得分:1)

假定值是文本文件中的行内容,请尝试:

forEach ($file in (gci filename[1-3])){gc $file|%{"{0};{1}" -f $_,$file.Name}}

样本输出

value1;filename1
value2;filename1
value1;filename2
value2;filename2
value3;filename2
value4;filename3

以下是没有别名的详细版本:

ForEach ($file in (Get-ChildItem filename[1-3] )){
    Get-Content $file | ForEach-Objet {
        "{0};{1}" -f $_,$file.Name
    }
}