使用特定扩展名复制文件并创建文件夹结构

时间:2012-06-15 06:44:09

标签: c# vb.net powershell batch-file utility

我想复制具有特定扩展名的文件(例如.config或.exe)。它应该创建嵌套目录的结构,然后将每个文件插入目录层次结构中的指定位置。理想情况下,我只需为每个文件指定一个父目录,为每个目录指定一个父目录,然后构建它。

我需要任何现有的实用程序或批处理文件或power-shell脚本或C#/ VB .Net代码来执行此活动。

非常感谢, Amit Lohakare

2 个答案:

答案 0 :(得分:1)

只需简单xcopy.exe /s /i "1\*.config" "2"将在目录1中递归查找所有.config文件,并根据文件夹结构将它们复制到目录2。

答案 1 :(得分:0)

在PowerShell中复制目录结构:

$source = "c:\dev"
$destination = "c:\temp\copydev"

Get-ChildItem -Path $source -Recurse -Force |
    Where-Object { $_.psIsContainer } |
    ForEach-Object { $_.FullName -replace [regex]::Escape($source), $destination } |
    ForEach-Object { $null = New-Item -ItemType Container -Path $_ -Force }

复制“.config”文件可以通过以下方式完成:

Get-ChildItem -Path $source -Recurse -Force |
    Where-Object { -not $_.psIsContainer -and ($_.Name.Contains(".config") } |
    Copy-Item -Force -Destination { $_.FullName -replace [regex]::Escape($source), $destination }

您的问题并不清楚您要复制的内容,因此您必须根据自己的需要定制以上几行。