我正在尝试使用 PowerShell 将大量文件从 Windows 系统复制到 Unix 共享。我似乎能够到目前为止,但不是整个解决方案。
只要我不介意它们存储在哪里,我似乎就可以复制这些文件,因为它会丢失所有文件夹结构。我尝试过这里和网上其他地方发布的各种方法,但均无济于事。
代码:
gci -path "e:\company folders\\*" | Where-Object {$_.LastAccessTime -le (Get-Date).addyears(-2)} | Copy-Item -destination "\\\networkfolder\archive\company folders\"
Run Code Online (Sandbox Code Playgroud)
我尝试了此脚本的几种变体,包括在 -path 之后和 -destination 之后使用 -recurse
最大的成功来自于
gci -path "e:\company folders\*" | Where-Object {$_.lastaccesstime -le (Get-Date).addyears(-2)} | Copy-Item -destination "\\\networkshare\archive\company folder\" -recurse -container
Run Code Online (Sandbox Code Playgroud)
但这只复制了 43 个文件夹中的 5 个。
我究竟做错了什么?
如果要复制文件夹结构,请使用robocopy(Windows 相当于):rsync
$src = ':\company folders'
$dst = '\\networkfolder\archive\company folders'
$age = (Get-Date).AddYears(-2).ToString('yyyyMMdd')
& robocopy "$src" "$dst" /s /maxlad:$age
Run Code Online (Sandbox Code Playgroud)
如果您还想包含空子文件夹,请替换/s为。/e
| 归档时间: |
|
| 查看次数: |
5698 次 |
| 最近记录: |