0

ファイルのパスのリストを含むファイル(list.txtなど)があります。

F:\users\user\desktop\f1.doc
F:\users\user\desktop\f2.doc
F:\users\user\documents\f3.doc
F:\users\user\documents\f4.doc

また、コンピュータに F: ドライブを接続しました。このドライブには、list.txt には表示されないこれらのファイルやその他のファイルが含まれています。

list.txt リストに属さない F: ドライブ上のすべてのファイルをコピーしたいのですが、フォルダー構造はそのままにします。

「copy-item F:\users\user\desktop\f2a.doc -destination C:\copied\users\user\desktop\f2a.doc」のようなものですが、F: ドライブ上のすべてのファイルが対象です。

-exclude が意図したとおりに機能しないため、 -filter を使用する必要があると思いますが、方法がわかりません。どんな助けでも大歓迎です。

カマル

これが私がこれまでに持っているコードです:

$file = "list.txt"
$target = "c:\コピー済み\"

$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>
4

1 に答える 1

0

これを実現するために、C# で小さなプログラムを作成することになりました。コードに興味のある方は、 https ://github.com/ecofriend/CryptoFileSaver で見つけることができます。

于 2015-06-18T21:06:12.337 に答える