我是 powershell 新手。我使用 cmdlet 获取了文件夹中文件的名称Get-ChildItem
。
名称遵循以下方案:
video_536_640Seg1-Frag3
video_536_640Seg1-Frag4
video_536_640Seg1-Frag7
期望的输出是让文件遵循以下方案:
Frag3-video_536_640Seg1
Frag4-video_536_640Seg1
这可以通过用连字符分割每个文件名,然后切换每个分割部分的顺序来实现。
我尝试过使用-split
,
$items = $files -split "-"
但每个组件都被发送到不同的数组索引,并且我无法对索引进行排序。
答案1
这不是一个最佳的解决方案,但可以让您深入了解如何解决使用 Powershell 时遇到的问题(同时也提供了一个有效的答案)。您需要更新扩展以真正匹配您的视频文件。
# change below to match the file extension of the video files
$extension = ".mp4"
$files = gci *$extension
ForEach ($file in $files) {
# get everything before "-"
$a = ($file.BaseName).split('-')[0]
# get everything after "-"
$b = ($file.BaseName).split('-')[1]
# setup the desired name format
$fixed = $b + "-" + $a + $extension
# rename the files
Rename-Item $file $fixed
}