在目录中,有些文件没有文件类型。所以他们没有.xxx
,我知道他们的类型,我想设置它。
如何获取列表并添加其类型,例如.srt
?
我可以使用以下命令获取具有文件类型的所有文件的列表:
Ls * | ? {$_.name -match '\.\w{3}$' } | FT
但是,仍然以下命令无法提供所需的结果:
Ls * | ? {$_.name -match '[^\.\w{3}]$' } | FT
另外,我需要一些帮助来重命名它们并添加它们的类型。
答案 0 :(得分:2)
如果您要设置文件夹中所有文件的扩展名而不加.srt
扩展名,您可以使用管道中的Rename-Item
请注意,这会更改 所有 文件的扩展名,而不会在您选择的目录中添加扩展名.srt 强>
Get-ChildItem -Path C:\Path\To\Files | Where-Object -FilterScript {-not $_.Extension} | ForEach-Object { Rename-Item -Path $_.FullName -NewName ($_.FullName + ".srt") }
下面对此管道的解释
获取所有文件
Get-ChildItem -Path C:\Path\To\Files
文件没有扩展名
Where-Object -FilterScript {-not $_.Extension}
对于目录中的每个文件
ForEach-Object { }
将项目重命名为之前调用的项目($ _。FullName)+我们选择的扩展名(.srt)
Rename-Item -Path $_.FullName -NewName ($_.FullName + ".srt")