如何为没有任何类型

时间:2015-06-05 00:42:29

标签: powershell powershell-v2.0

在目录中,有些文件没有文件类型。所以他们没有.xxx,我知道他们的类型,我想设置它。

如何获取列表并添加其类型,例如.srt

我可以使用以下命令获取具有文件类型的所有文件的列表:

Ls * | ? {$_.name -match '\.\w{3}$' } | FT

但是,仍然以下命令无法提供所需的结果:

Ls * | ? {$_.name -match '[^\.\w{3}]$' } | FT

另外,我需要一些帮助来重命名它们并添加它们的类型。

1 个答案:

答案 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")