我有以下情况:
我的目录中有大量文件,名称如下:
'######_dynamicname_timestamp.xml'
我想按 ###### 对文件进行分组,然后将分组的文件压缩到以该组的 ###### 命名的存档中。在这种情况下,文件名和时间戳并不重要,只重要前六位数字。我是 PowerSHell 的新手,还不熟悉命令(cmdlet?)。在 ss64 寻找答案时我遇到了 group-object 但我仍然无法正确理解。到目前为止,这就是我所得到的:
ls D:\directory\ | select name | group-object name
Run Code Online (Sandbox Code Playgroud)
由于时间戳和动态文件名,每个文件都位于其自己的单独组中。我需要一种仅按前六位数字进行分组的方法,然后将这些组传递给 zip 或 archive 命令。预先感谢您的帮助。
该管道应该为您提供所需的结果/如何做到这一点的想法
Get-ChildItem D:\directory |
Group-Object -Property { $_.Name.Substring(0, 6) } |
% { Compress-Archive -Path $_.Group -DestinationPath "$($_.Name).zip" }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3022 次 |
| 最近记录: |