每天有3个新的CSV文件被发送到3个不同的路径。我想将这些文件复制到每个路径中的存档中,然后运行一个脚本来删除每个文件的第一行。然后,生成的文件被移到另一个文件夹,在那里批处理可以读取它们。
路径1的示例:“Z:\TEST\1\SCRIPT\EXPORT_2022-11-09.csv”归档的示例1:“Z:\Test\1\Script\Archive\Export_2022-11-09.csv”
路径2的示例:“Z:\TEST\2\SCRIPT\EXPORT_2022-11-09.csv”归档的示例2:“Z:\Test\2\Script\Archive\Export_2022-11-09.csv”
$Files = @( "Z:\Test\1\Script\Export_2022-11-09.csv", "Z:\Test\2\Script\Export_2022-11-09.csv")
$Files | ForEach-Object {
Copy-Item $_ -Destination
(Get-Content $_ | Select-Object -Skip 1) | Set-Content $_
}
每个文件的第一行被删除的部分工作得很好,但我想不出一种方法来将每个文件复制到特定和不同的路径。如果能帮上忙,我将不胜感激。提前谢谢您。
2条答案
按热度按时间mxg2im7a1#
尝试以下操作以获取新文件名
b09cbbtk2#
似乎您想要的是将原始文件保存在同一路径下的归档子文件夹中。然后重写原始文件,以便删除标题行。
使用
[System.IO.Path]::GetDirectoryName()
将路径从完整路径和文件名字符串中分离出来,然后用‘存档’将其连接起来