Powershell 如何编写接受文件名并返回文件描述类型的函数?
如何在Powershell中编写接受文件名并返回文件描述类型的函数 基本上,我想创建一个名为Powershell 如何编写接受文件名并返回文件描述类型的函数?,powershell,Powershell,如何在Powershell中编写接受文件名并返回文件描述类型的函数 基本上,我想创建一个名为Get FileType的新函数,其中接受一个文件名Get FileType MyFile,并返回文件类型,如.txt。到目前为止,我必须键入MyFile.txt,才能返回扩展名 如果注册表不包含信息,那么我希望它返回一个包含“File”的字符串。如果接受的文件是“myfile.txt”,我希望输出“textfile”的格式 到目前为止,我有一个: `函数Get FileType([string]$fil
Get FileType
的新函数,其中接受一个文件名Get FileType MyFile
,并返回文件类型,如.txt
。到目前为止,我必须键入MyFile.txt
,才能返回扩展名
如果注册表不包含信息,那么我希望它返回一个包含“File”
的字符串。如果接受的文件是“myfile.txt”,我希望输出“textfile”的格式
到目前为止,我有一个:`函数Get FileType([string]$fileName=”“) { $extension=[System.IO.Path]::GetExtension($filename) }`
我仍然被困住了……我不确定我是否完全理解了你的要求,但我还是有一些建议:
$extension=[System.IO.Path]::GetExtension($filename)
HKLM:\Software\Classes\$extension
时,最常用的两个值是“内容类型”和“感知类型”function Get-FileType ([string]$fileName = " "){
$extension = [System.IO.Path]::GetExtension($filename)
$item = Get-Item HKLM:\Software\Classes\$extension
$item.GetValue("Content Type")
}
然后,您需要添加一些控件来检查文件是否没有扩展名,或者注册表项是否存在,或者可能会出现一些错误…根据您对所需内容的描述,输入:文件名(例如“myfile.txt”)、输出:扩展名(例如“.txt”),您只需使用
[System.IO.Path]::GetExtension方法。调用[System.IO.Path]:GetExtension(“myfile.txt”)
将返回“.txt”。谢谢gruntzy。这是否意味着如果要执行Get FileType myfile.txt
,它将返回txt
?我试图创建一个函数来获取用户输入的文件的扩展名。get-FileType myfile.txt实际上会返回类似“text/plain”的内容。如果您只想获取文件扩展名,那么[System.IO.Path]::GetExtension($filename)
就足够了
function Get-FileType ([string]$fileName = " "){
$extension = [System.IO.Path]::GetExtension($filename)
$item = Get-Item HKLM:\Software\Classes\$extension
$item.GetValue("Content Type")
}