当前位置: 首页 > 知识库问答 >
问题:

从数组复制文件列表

法风畔
2023-03-14

我正在尝试使用类操作符匹配文件名,然后将与复制项匹配的文件复制到新目录:

声明文件列表:

$files = "File1", "File2", "File3"
$sourceFolder = Get-ChildItem 'C:\source'

按名称匹配文件属性:

$filesToCopy = @()
foreach ($file in $files) {
    $filesToCopy += $sourceFolder | Where-Object {$_.Name -like "$file*"} | Select FullName
}

最后将文件复制到目标:

foreach ($file in $filesToCopy) {
    Copy-Item $file -Destination 'C:\destination'
}

最后一节返回错误:<代码>复制项:找不到驱动器。名为“@{FullName=C”的驱动器不存在。

$filesToCopy的输出:

FullName
--------
C:\source\file1.txt
C:\source\file2.txt
C:\source\file3.txt

我做错了什么?FullName似乎引发了一个问题。

共有1个答案

岳迪
2023-03-14

$filesToCopy(因此也是$file)是一个属性为FullName的对象,因此需要引用该属性才能正确使用它:

foreach ($file in $filesToCopy) {
    Copy-Item $file.FullName -Destination 'C:\destination'
}
 类似资料:
  • 在此代码中,我试图复制网络上包含关键字的所有文件。目前我能够列出/打印所有包含关键字的文件,但希望将它们复制到新位置。到目前为止,我一直在收到错误代码“IOError:[Errno 22]无效模式('rb')或文件名:“//server/User$/”列出的其他错误代码是: 文件“C:\Python27\lib\shutil.py”,第119行,副本 copyfile(src、dst) copyf

  • 所以,我有一个文本文件中的文件列表。我相信大约有100000个文件。 上述列表中的文件分布在许多目录中,具有不同的大小、文件名、扩展名、年龄等。 我正试图找到一种方法来移动这些文件,只是那些,到另一个驱动器。 复杂因素:一些文件具有相同的名称,但不是同一个文件。不能只将它们移动到一个文件夹中,并对多个文件夹执行覆盖或忽略策略。 最好,我希望他们保留他们的目录结构,但只在目标目录中包含我想要的文件。

  • 问题内容: 我最近开发了一个应用程序,并创建了jar文件。 我的课程之一创建了一个输出目录,并使用其资源中的文件填充该目录。 我的代码是这样的: 不幸的是,这不起作用。 我没有运气就尝试了以下方法: 使用Streams解决其他类上的类似问题,但不适用于dirs。代码类似于 http://www.exampledepot.com/egs/java.io/CopyFile.html 使用创建文件模板

  • 函数名称:复制文件 函数功能: 复制文件 函数方法 flag = file.copy (oldpath,newpath) 参数 类型 必填 说明 oldpath string 是 待复制文件的路径 newpath string 是 要复制到的文件路径,注意先判断是否有重名文件或文件夹。 返回值 类型 说明 flag boolean true - 复制成功,false - 复制失败 函数用例 --待