我正在尝试创建一个PowerShell脚本,该脚本将扫描文件夹及其子文件夹中的视频并创建播放列表文件。
播放列表格式:
DAUMPLAYLIST
1 *文件*%文件名%
2 *文件*%文件名%
3 *文件*%文件名%
4 *文件*%文件名%
..等等
到目前为止,我的脚本成功地格式化了所有内容,除了第一个增量编号。我无法弄清楚如何编写PowerShell以在每个对象之前添加计数器前缀。
我的剧本格式。
DAUMPLAYLIST
*文件*%文件名%
*文件*%文件名%
*文件*%文件名%
*文件*%文件名%
..等等
我的剧本:
$formats = @("*.avi","*.mp4","*.flv","*.mpg","*.wmv","*.mpeg","*.mov","*.h265","*.mkv","*.asf","*.WebM","*.m4a","*.lnk","*.h264")
$dir = Split-Path $MyInvocation.MyCommand.Path
Add-Content 01.dpl DAUMPLAYER
gci D:\Video\01\ -Include $formats -Recurse |
ForEach-Object -Process { "*file*" + $_ } |
Add-Content .\01.dpl
答案 0 :(得分:0)
只需在循环中添加一个计数器:
$i = 0
Get-ChildItem 'D:\Video\01' -Include $formats -Recurse |
ForEach-Object { "{0}*file*{1}" -f $i, $_.Name; $i++ } |
Add-Content .\01.dpl
另一个选择是收集变量中的文件列表并使用for
循环处理该列表:
$files = Get-ChildItem 'D:\Video\01' -Include $formats -Recurse
for ($i = 0; $i -lt $files.Count; $i++) {
"{0}*file*{1}" -f $i, $files[$i].Name | Add-Content .\01.dpl
}
format operator(-f
)还允许您定义特定的数字格式,例如前导零({0:d3}
)。