需要协助复制任务

时间:2019-07-11 09:43:41

标签: powershell

我在xyz文件夹下有.dll和.sys文件
   xyz
      'QcXhciFilter8086 \ QcXhciFilter8086.sys'       'qSarMgr8086 \ qSarMgr.dll'       'qcwlan_wpextwapi8086 \ WapiIhvExt.dll'

需要在新文件夹下复制这些内容
   新
      'QcXhciFilter8086 \ QcXhciFilter8086.sys'       'qSarMgr8086 \ qSarMgr.dll'       'qcwlan_wpextwapi8086 \ WapiIhvExt.dll'

我尝试过的事情:

'Copy-Item -Path $file_path\..\*sys -Destination C:\Users\Path\new\'

此处'$ file_path = \ xyz \ QcXhciFilter8086 \ QcXhciFilter8086.sys'

结果:仅将.sys.dll文件直接复制到“新”文件夹下。但是我想要他们在驱动程序名称下。像这样的“ new \ QcXhciFilter8086 \ QcXhciFilter8086.sys”

1 个答案:

答案 0 :(得分:0)

好的,我想我明白您的要求...

您具有这样的文件夹结构:

[xyz]

  • QcXhciFilter8086
    • QcXhciFilter8086.sys
  • qSarMgr8086
    • qSarMgr.dll
  • qcwlan_wpextwapi8086
    • WapiIhvExt.dll

您想将此复制到另一个文件夹。使用此方法会将文件夹结构和文件从xyz文件夹复制到新文件夹。但是,这将复制所有内容。如果只想复制仅.sys和.dll的文件,则需要在现有Get-ChildItem循环中添加另一个ForeEach-Object来查看当前目录。

这是我建议的解决方案:

$source = "c:\path\to\xyz"
$destination = "c:\path\to\new"

Get-ChildItem -Path $source -Directory | ForEach-Object{
    Copy-Item $_.FullName -Destination $destination -Recurse -Container
}