-2

フォルダー構造 (例: F:\Directory\layer1\layer2\layer3) を再帰的に探しており、指定されたファイル拡張子 (例: ".dll、.txt") を持つすべてのファイルを見つけます。次に、リストされた/見つかったファイルを宛先フォルダーにコピーする必要があります。

誰かがこれを行う優れた PowerScript を送ってくれれば、とても感謝しています。

約 1,000 個のフォルダーと 5,000 個のファイルを含むドライブを持っているので、これでおそらく 1 日か 2 日手作業を節約できるでしょう。:)

ありがとう!

4

3 に答える 3

1

以下を試して、必要に応じて変更してください。

$movetopath = "C:\new folder\"
New-Item -Path $movetopath -ItemType Directory -Force
$files = Get-ChildItem -Path F:\ -Recurse
$files | Where-Object {$($_.Extension -eq ".dll") -or $($_.Extension -eq ".txt")} | ForEach-Object {Copy-Item $_ -Destination $movetopath}
于 2013-01-15T17:33:26.247 に答える
0

次のようなものを試してください

Get-ChildItem -Path $path -Recurse | where { !$_.PSIsContainer } | where { $_.Extension -eq ".txt" -or $_.Extension -eq ".log" } | Copy-Item -Destination $dest

これは、robocopyよりもおそらく遅いです。また、次回は完全な解決策ではなく、努力を示して質問してください。これはウェブショップではありません。

于 2013-01-15T17:31:01.453 に答える
0

最初に find コマンドを使用してから、find コマンドの出力を tar にパイプすることをお勧めします。アーカイブを宛先フォルダーに untar します。

于 2013-01-15T15:46:36.390 に答える