我在这里错过了一个把戏吗?
Dim fso
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
WScript.Echo fso.GetBaseName("D:\temp\1. Some Folder")
WScript.Echo fso.GetBaseName("D:\temp\Some Other Folder Without A Dot")
WScript.Echo fso.GetAbsolutePathName("D:\temp\1. Some Folder")
上面的基本名称代码在点/句点被截断。
D:\temp\1
我假设VBScript由点引发。有解决这个问题的技巧吗?还是您必须在最后一个斜杠索引之后修改完整路径?
答案 0 :(得分:1)
我相信GetFileName
会产生您想要的结果。
从文档中
返回不属于驱动器规格的指定路径的最后一个组成部分。
答案 1 :(得分:0)
GetBaseName
函数确实将最后一个点之后的所有内容视为扩展名,因此您期望的文件夹名称被截断了。
更安全,但仅适用于现有路径可能是使用GetFolder
函数来接收Folder object并从中获取Name
属性:>
WScript.Echo fso.GetFolder("D:\temp\1. Some Folder").Name
返回
- 某些文件夹