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

Powershell 选择要复制的目录中的某些文件,powershell,powershell-2.0,Powershell,Powershell 2.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 f

我试图将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
    }
谢谢你的帮助

因为这个位:

(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}
因为这一点:

(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}

重新排列它的最佳方式是什么,这样我就可以获得新创建文件夹中的所有文件?我曾尝试先创建目录,然后将目录和所有文件放在同一级别。:-)<代码>(新项目-类型目录“C:\test2\”-名称(获取日期-f MMddyyyy\u hhmm)).FullName$file\u list=“240”,“240.old”,“errors”,“errstation.log”,“wagdlg4.log”foreach($file\u list中的文件){复制项目“C:\test\$file”-Destination“C:\test2\”}您的原始代码也将复制到同一目录中。你到底想实现什么?只是想把那些文件放到它们自己的目录中,在目录上加上时间戳,因为我要安排一个作业。再次感谢。:-)重新排列它的最佳方式是什么,这样我就可以获得新创建文件夹中的所有文件?我曾尝试先创建目录,然后将目录和所有文件放在同一级别。:-)<代码>(新项目-类型目录“C:\test2\”-名称(获取日期-f MMddyyyy\u hhmm)).FullName$file\u list=“240”,“240.old”,“errors”,“errstation.log”,“wagdlg4.log”foreach($file\u list中的文件){复制项目“C:\test\$file”-Destination“C:\test2\”}您的原始代码也将复制到同一目录中。你到底想实现什么?只是想把那些文件放到它们自己的目录中,在目录上加上时间戳,因为我要安排一个作业。再次感谢。:-)