我在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”
答案 0 :(得分:0)
好的,我想我明白您的要求...
您具有这样的文件夹结构:
[xyz]
您想将此复制到另一个文件夹。使用此方法会将文件夹结构和文件从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
}