<code>Set objFSO = CreateObject("Scripting.FileSystemObject") objStartFolder = "Notes" Set objFolder = objFSO.GetFolder(objStartFolder) Set colFiles = objFolder.Files For Each objFile in colFiles If UCase(objFSO.GetExtensionName(objFile.name)) = "TXT" Then document.write objFile.name & "<br>" End If Next </code>

问题描述 投票:0回答:3
... For Each objFile in colFiles If UCase(objFSO.GetExtensionName(objFile.name)) = "TXT" Then document.write Left(objFile.name, Len(objFile.name)-4) & "<br>" End If Next

根据文档的考验,

left()


file vbscript
3个回答
3
投票

您只需要知道要返回多少个字符。由于您已经知道文件名以

.txt
结束,因此可以返回除last4
字符以外的所有字符。

Len(objFile.name)将为您提供全长,您可以从那里减去。

或如果您喜欢使用处理字符串的函数,则我一次将其编码为自己的站点。只要有一个“”。当然,文件名中的任何地方。如果没有,它只会返回输入文件名。

Function RemoveFileExtension(inputFileName) IF NOT inStr(inputFileName, ".") > 0 THEN ' Period not found strReturnvalue = inputFileName ELSE ' Period found. Locate last intPositionRight = 1 DO WHILE NOT inStr(right(inputFileName, intPositionRight), ".") > 0 intPositionRight = intPositionRight + 1 LOOP strReturnvalue = left(inputFileName, len(inputFileName) - intPositionRight) END IF RemoveFileExtension = strReturnvalue End Function

然后您可以简单地使用该功能,例如这样:

For Each objFile in colFiles
    response.write RemoveFileExtension(objFile.name) & "<br>"
Next
快乐编码。 :)

在FileSystemobject中,有一种方法来执行此操作,称为GetBasEname。还有一种仅提取称为getExtensionName的文件扩展名的方法。

0
投票
Function GetTheBase(filespec)

Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")

GetTheBase = fso.GetBaseName(filespec)
GetTheExtension = fso.GetExtensionName(filespec)

End Function

0
投票

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.