4

我们的应用程序有文件夹/子文件夹结构。

每当我们添加新模块时,我们必须完全复制文件夹结构而不复制文件。

如何复制层次结构中的文件夹和子文件夹但不保留文件?

4

2 回答 2

5

这有点“hacky”,因为 Powershell 不能很好地处理这个问题……公认的智慧说使用 xCopy 或 Robocopy 但如果你真的需要使用 Powershell,这似乎可以正常工作:

$src = 'c:\temp\test\'
$dest = 'c:\temp\test2\'

$dirs = Get-ChildItem $src -recurse | where {$_.PSIsContainer}

foreach ($dir in $dirs)
{
    $target = ($dir.Fullname -replace [regex]::Escape($src), $dest)

    if (!(test-path $target))
    {
         New-Item -itemtype "Directory" $target -force
    }
}
于 2012-07-05T12:30:45.117 回答
3
$source = "<yoursourcepath>"
$destination = "<yourdestinationpath>"

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 $_ }
于 2012-07-05T13:41:19.383 回答