压缩长路径文件夹

Dre*_*rew 5 powershell

我现在是我公司离职脚本的自豪拥有者(耶!)。我一直在检查代码和测试,我注意到在某些用户的主文件夹中,我达到了 PowerShell 的 260 个字符限制。这是一个问题,因为我们的政策规定,离开公司的任何处于“诉讼保留”状态的人都需要压缩和存储他们的整个主文件夹,直到合法释放它(换句话说就是永远)。脚本的其余部分运行良好并处理其他所有事情,因此我希望此过程保留在 PowerShell 中。

我尝试了很多方法/方法/解决方法,但我还没有找到一种有效的方法。这是我尝试过的:

AlphaFS:可以获得所有文件名,但是当我将输出发送到本机 cmdlet 时会
窒息(并不奇怪)AlphaFS 压缩:不是递归
7-Zip:不能正确保留时间戳
ICSharpCode.SharpZipLib:达到 PS 字符限制

*编辑:我也尝试过QuickIO.NET,但没有通过压缩方法通过 PS 限制。
*Edit2:尝试System.IO.Compression.FileSystem - 达到 PS 字符限制

不幸的是,我不能发布代码,但这个想法很简单。

主文件夹 --> PowerShell --> 压缩文件

我可以在脚本中加载我可能需要的任何模块,但它必须保留在 PowerShell 中,并且文件夹内容需要压缩到一个文件中。我希望这甚至是可能的。

任何帮助,将不胜感激。

谢谢

小智 1

我建议使用 emcopy / robocopy 将目录移动到较短的路径长度。

然后你就可以轻松地在 powershell 中按照你想要的方式操作它。

即使这是压缩它然后用 emcopy 将其移回