我试图将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
}
感谢您的帮助。
答案 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}