如何为没有任何类型的文件设置文件类型

How to set file type for files without any type

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

如何获取他们的列表并添加他们的类型,例如 .srt

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

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

但是,以下命令仍然没有给出预期的结果:

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

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

如果您想将文件夹中所有文件的扩展名设置为 .srt,您可以像这样从管道中使用 Rename-Item

请注意,这会改变 ALL 的扩展名]您选择的目录中没有扩展名的文件.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 { }

将 Item 重命名为之前的名称 ($_.FullName) + 我们选择的扩展名 (.srt)

Rename-Item -Path $_.FullName -NewName ($_.FullName + ".srt")