【发布时间】:2016-02-15 08:38:50
【问题描述】:
如何使用 powershell 脚本从文件夹及其子文件夹中复制 .txt 类型的文件。如果文件我是子文件夹,我希望子文件夹也复制到目标。谢谢
我尝试了以下
Copy-item c:\tes\* *.txt c:\dest -recurse -force
这只会复制根文件夹中的文件,而不是子文件夹中的文件。
【问题讨论】:
如何使用 powershell 脚本从文件夹及其子文件夹中复制 .txt 类型的文件。如果文件我是子文件夹,我希望子文件夹也复制到目标。谢谢
我尝试了以下
Copy-item c:\tes\* *.txt c:\dest -recurse -force
这只会复制根文件夹中的文件,而不是子文件夹中的文件。
【问题讨论】:
这可能不是最好的解决方案,但应该可以:
我使用Get-ChildItem cmdlet 过滤所有*.txt文件,确定新路径,使用md 创建新目录,最后使用Copy-Item cmdlet 复制文件:
$source = 'D:\test1'
$destination = 'D:\test2'
Get-ChildItem -Path $source -Filter *.txt -Recurse | % {
$newDirectory = Join-Path $destination ($_.DirectoryName.Substring($source.Length))
md $newDirectory -Force | out-null
Copy-Item $_.FullName -Destination $newDirectory
}
【讨论】:
Test-Path,但这也应该始终有效。