选择要复制的目录中的某些文件

时间:2013-11-06 18:27:55

标签: powershell powershell-v2.0

我试图将5个文件从一个目录复制到另一个目录,但我只获得列表中的第一个文件而不再存在。为什么?我做错了什么,我没有得到所有5个文件?

    # list of files from source directory that I want to copy to destination folder
    $file_list = "240","240.old","errors","errstation.log","wagdlg4.log"

    # Copy each file
    foreach ($file in $file_list)
    {
    Copy-Item "C:\test\$file" (New-Item -type Directory "C:\test2\" -name (Get-Date -f      MMddyyyy_hhmm)).FullName
    }

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

因为这一点:

(New-Item -type Directory "C:\test2\" -name (Get-Date -f MMddyyyy_hhmm)).FullName

尝试为您复制的每个文件创建一个新目录。但是,目录名称最可能是相同的,因为名称中的时间戳仅为分钟分辨率。当它再次尝试创建同一目录时(在第二个文件上),您将收到错误。

我会走这条路:

$file_list = "240","240.old","errors","errstation.log","wagdlg4.log"
$dir = New-Item -type Directory "C:\test2\" -name (Get-Date -f MMddyyyy_hhmm)
$file_list | Foreach { Copy-Item "C:\test\$_" $dir.Fullname}