Javascript 如何确定给定路径是文件还是文件夹?

Javascript 如何确定给定路径是文件还是文件夹?,javascript,filepath,windows-scripting,Javascript,Filepath,Windows Scripting,使用Jscript确定给定路径是否为文件夹或文件的最简单方法是什么?仅使用JavaScript我知道您不能。但是,如果知道文件的扩展名,可以对其进行一些验证。下面看一个例子 JS var pathX = "[?:[a-zA-Z0-9-_\.]+(?:.txt|.sql)"; /* File validation using extension*/ function testRegx(frm){ var path = frm.testfile.value; if(path.to

使用Jscript确定给定路径是否为文件夹或文件的最简单方法是什么?

仅使用JavaScript我知道您不能。但是,如果知道文件的扩展名,可以对其进行一些验证。下面看一个例子

JS

var pathX = "[?:[a-zA-Z0-9-_\.]+(?:.txt|.sql)"; /* File validation using extension*/

function testRegx(frm){
    var path = frm.testfile.value;

    if(path.toString().match(pathX)){
        alert("Valid");
    } else {
        alert("Invalid");
    }
}
HTML

<form name="testupload">
    <p>
    <input type="file" name="testfile">
    <input type="button" onClick="testRegx(this.form);" value="test">
    </p>
</form>



这种技术仍然不是最好的方法,因为您可以篡改文件以更改其扩展名,或者您可以通过在给定的有效文件基础上添加有效扩展名来重命名文件。

您没有说您在什么环境下工作。如果您的意思是在环境中,则可以使用对象:


/usr/local/bla
这样的路径可以是文件或文件夹,因此通常不可能,除非您有一些限制来区分文件和文件夹。
/folder/A
,是名为
A
的文件夹还是名为
A
的文件,或者其他环境中可以访问文件系统的Javascript?不。。我不是在浏览器中谈论abt Jscript。@所以你的问题毫无意义,因为JavaScript是在浏览器中运行的客户端语言。请更好地解释你想要什么,并用适当的标签重新标记问题。在windows中可以篡改吗?例如,文件(无扩展名)和文件夹是否可以同名?我猜not@sw您可以更改扩展名,也可以删除扩展名,但当然,我想文件的格式仍然是原始格式。你不能用相同的名字和父文件夹。我不知道这是解决它的方法,我想我是懒惰的环顾四周+1.喂饱我的心:)
var fso = new ActiveXObject('Scripting.FileSystemObject');
if (fso.FileExists(path)) {
    WScript.Echo("It's a file!");
} else if (fso.FolderExists(path)) {
    WScript.Echo("It's a folder!");
} else {
    WScript.Echo("It's superman!");
}