1. 导出图片
ffmpeg -i D:/相片/4.30/V20240430-113943.mp4 D:/output/943/%04d.png#原视频 D:/相片/4.30/V20240430-113943.mp4
2. ps1脚本 10选1
$sourceFolder = "D:\output\943"$destinationFolder = "D:\output\1\10"
$counter = 0Get-ChildItem -Path $sourceFolder -Filter "*.png" | Sort-Object Name | ForEach-Object { $counter++ if ($counter % 10 -eq 1) { Copy-Item $_.FullName -Destination (Join-Path $destinationFolder $_.Name) }}
3. ps1脚本 重命名文件
# 设置要修改文件名的目录路径$directoryPath = "D:\output\1\10"# 自定义文件名前缀$prefix = "10a"
# 获取目录中的所有文件(不包括子目录)$files = Get-ChildItem -Path $directoryPath -File | Sort-Object Name # 确保按名称排序,以便于预测重命名顺序
# 初始化计数器$count = 1
# 遍历文件并重命名foreach ($file in $files) { # 构建新文件名:前缀 + 递增数字 + 原文件扩展名 $newName = $prefix + $count.ToString().PadLeft(3, '0') + $file.Extension $newFilePath = Join-Path -Path $file.Directory.FullName -ChildPath $newName
# 重命名文件 Rename-Item -Path $file.FullName -NewName $newFilePath # 递增计数器 $count++}
这个PowerShell脚本的功能是在指定的目录中对所有文件进行重命名。以下是脚本的逐行解释:
- 设置需要修改文件名的目录路径为
D:\output\1\10
。 - 定义一个前缀字符串
10a
,该前缀将被添加到每个新文件名的开始。 - 使用
Get-ChildItem
命令获取指定目录$directoryPath
下的所有文件(注意这里使用-File
参数排除了子目录和目录本身)。结果通过管道传递给Sort-Object Name
命令,确保文件按照名称排序,这样可以预测重命名的顺序。 - 初始化一个计数器变量
$count
为 1,用于在新文件名中生成递增的数字部分。 - 开始一个
foreach
循环,遍历之前获取到的文件列表。 - 在循环内部,首先构建新的文件名。新文件名由前缀、递增的数字(以三位数格式显示,不足三位前面补零)和原始文件的扩展名组成。例如,如果前缀是
10a
,计数器值为 1,且文件的原始扩展名为.txt
,那么新文件名将是10a001.txt
。 - 使用
Join-Path
命令构造包含新文件名的完整路径。 - 执行
Rename-Item
命令来重命名当前循环中的文件。它接收旧的完整文件路径作为-Path
参数,并接收新文件的完整路径作为-NewName
参数。 - 最后,在每次循环结束时,递增计数器
$count
,为下一个文件准备新的编号。
这个脚本会按照定义的规则连续地重命名目录下的所有文件,使得文件名具有统一的前缀和递增的编号。