1

我试图将 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
    }

谢谢您的帮助。

4

1 回答 1

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}
于 2013-11-06T18:39:52.690 回答