String 如何使用Vbscript检查输入字符串是文件名还是文件夹名

String 如何使用Vbscript检查输入字符串是文件名还是文件夹名,string,file,input,vbscript,directory,String,File,Input,Vbscript,Directory,我的目标是使用Vb脚本查找给定的输入是文件名还是文件夹名 例如,如果用户给出“D:\Temp\testfile.docx”,那么它应该导航到与文件相关的函数, 同样,如果用户给出“D:\Temp\”,则它应该导航到与文件夹相关的函数 如果没有简单的解决方案,是否有解决方法?检查用户输入是否指向现有文件(.)或文件夹(.): 如果这不符合您的需要,请用户通过始终添加“\”并选中(userinp,1)来标识文件夹。我创建了这个简单的函数,它应该适合您的需要: 'Return 1 if the pro

我的目标是使用Vb脚本查找给定的输入是文件名还是文件夹名

例如,如果用户给出“D:\Temp\testfile.docx”,那么它应该导航到与文件相关的函数, 同样,如果用户给出“D:\Temp\”,则它应该导航到与文件夹相关的函数


如果没有简单的解决方案,是否有解决方法?

检查用户输入是否指向现有文件(.)或文件夹(.):


如果这不符合您的需要,请用户通过始终添加“\”并选中(userinp,1)来标识文件夹。

我创建了这个简单的函数,它应该适合您的需要:

'Return 1 if the provided path is a folder, 2 if it's a file, and -1 if it's neither.
Function GetTypeOfPath(strToTest)
    Dim objFSO : Set objFSO = CreateObject("Scripting.FileSystemObject")

    If(objFSO.FolderExists(strToTest)) Then
        GetTypeOfPath = 1
    ElseIf(objFSO.FileExists(strToTest)) Then
        GetTypeOfPath = 2
    Else 'neither
        GetTypeOfPath = -1
    End If
End Function

您可以通过创建一个文件“c:\test”并运行“MsgBox(GetTypeOfPath(“c:\test”)”)来测试它。它将返回2。然后删除该文件,创建一个文件夹“c:\test”“并运行相同的东西;它将返回1。然后删除它并运行第三次;它将返回-1。

这需要修改。没有全局
文件夹存在
函数。您总是需要一个
脚本.FileSystemObject
实例。该代码是伪代码,可以通过“处理错误的用户输入”看到。我确实链接到了所用函数的文档。请编辑代码或说明wrt
GetTypeOfPath=-1
@Ekkehard.Horner--detailure。我认为描述很好。请编辑“第三次;它将返回0”的代码或描述。你在开我玩笑吗?@Ekkehard.Horner--对不起,我不知道你指的是什么。我现在修好了。
'Return 1 if the provided path is a folder, 2 if it's a file, and -1 if it's neither.
Function GetTypeOfPath(strToTest)
    Dim objFSO : Set objFSO = CreateObject("Scripting.FileSystemObject")

    If(objFSO.FolderExists(strToTest)) Then
        GetTypeOfPath = 1
    ElseIf(objFSO.FileExists(strToTest)) Then
        GetTypeOfPath = 2
    Else 'neither
        GetTypeOfPath = -1
    End If
End Function