我有一个文件(例如list.txt),其中包含文件路径列表,例如
F:\用户\用户\桌面\ f1.doc
F:\用户\用户\桌面\ f2.doc
F:\用户\用户\文档\ f3.doc
F:\用户\用户\文件\ f4.doc
我还在计算机上附加了一个F:驱动器,其中包含这些文件以及其他未出现在list.txt中的文件
我想复制F:驱动器上不属于list.txt列表但保持文件夹结构完整的所有文件。
类似" copy-item F:\ users \ user \ desktop \ f2a.doc -destination C:\ copied \ users \ user \ desktop \ f2a.doc"但对于F:驱动器中的所有文件。
我猜我将不得不使用-filter,因为-exclude并没有按预期工作,但我不知道如何工作。非常感谢任何帮助。
哈拉
这是我到目前为止的代码:
$file = "list.txt"
$target = "c:\copied\"
$prevDir = "c:\dummy"
$count = 0
foreach ($line in Get-Content $file){
$currDir = (Get-ChildItem $line).Directory
if ($currDir -ne $prevDir) {
$files = Get-ChildItem $currDir -Recurse
foreach ($item in $files) {
if ($item -ne (Get-ChildItem $fullPath).Name) {
Copy-Item $item.FullName -Destination $target + $line
$count++
}
}
}
$prevDir = $currDir
}
</pre>
答案 0 :(得分:0)
我最终在C#中编写了一个小程序来实现这一目标。任何对代码感兴趣的人都可以在此处找到它:https://github.com/ecofriend/CryptoFileSaver