バッチファイルを使用してフォルダ自体をコピーせずに、フォルダとそのすべてのサブフォルダから異なる拡張子のすべてのファイルを新しいフォルダにコピーする方法を何度も探していました。私はファイルのみを意味します。
私は非常に大規模な(ネストされた)ディレクトリ構造を持っています。つまり、フォルダ内のフォルダです。Robocopyを試しましたが、機能しませんでした。次に、XCOPYを持つコードを見つけました。C#も試しましたが、完了するまでに時間がかかりすぎます。
他にご提案がございましたら、こちらをお勧めします。
最新のWindowsシステムに似たものを使用している場合は、PowerShellを使用します。あなたが求めているものの最も単純なバージョン:
$source = 'C:\Users\source'
$dest = 'C:\Users\destination'
$filter = '*.txt'
Get-ChildItem $Source $filter -recurse | Copy-Item -Destination $dest
アイテムを日付でフィルタリングするには、にパイプする前に、Get-ChildItem
to Where-Object
(エイリアス:Where
または?
)の結果をパイプしCopy-Item
ます。
$Cutoff = [DateTime]'3/1/20'
Get-ChildItem $Source $filter -recurse |
Where CreationTime -gt $CutOff |
Copy-Item -Destination $dest
IO.FileSystemオブジェクトの日付関連のプロパティは次のとおりです。
任意の比較演算子を使用できます。
定期的な操作の場合は、現在の日付からカットオフを計算することをお勧めします。
(Get-Date).Date
(Get-Date).AddDays(-1)
(Get-Date).AddDays(-1).Date
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加