Javascript忽略所有文件,而不是一个文件
我试图让我的javascript忽略一个文件类型扩展名,该扩展名保存在一个包含大量photoshop图像的文件夹中。对于文件夹中的所有其他文件类型,我有它,以便这些文件类型填充一个窗口,用户可以导入到他们的工作空间 我修改了脚本以忽略我希望忽略的文件扩展名,但是它不再使用文件夹中包含的所有其他文件类型填充窗口。但是,当我从文件夹中取出我想要忽略的文件时,窗口会按其应该的方式填充 这是我目前检查文件夹中文件类型的工具:Javascript忽略所有文件,而不是一个文件,javascript,Javascript,我试图让我的javascript忽略一个文件类型扩展名,该扩展名保存在一个包含大量photoshop图像的文件夹中。对于文件夹中的所有其他文件类型,我有它,以便这些文件类型填充一个窗口,用户可以导入到他们的工作空间 我修改了脚本以忽略我希望忽略的文件扩展名,但是它不再使用文件夹中包含的所有其他文件类型填充窗口。但是,当我从文件夹中取出我想要忽略的文件时,窗口会按其应该的方式填充 这是我目前检查文件夹中文件类型的工具: //Prompt for folder location var Path =
//Prompt for folder location
var Path = Folder.selectDialog("Select Folder Location for Renders")
// Use the path to the application and append the samples folder
var samplesFolder = Folder(Path)
//Get the files
var fileList = samplesFolder.getFiles()
//Creat Array to hold names
var renderTypes = new Array();
//Parse Initial name to get similar render elements
var beautyRender = fileList[0].name
beautyRender = beautyRender.substr(0, beautyRender.length-4)
//Get the render elements with a similar name
for (var i = 0; i < fileList.length; i++)
{
var filename = fileList[i].name;
if (filename.match(/\.(stitchinfo)$/i) == null)
{
if(fileList[i].name.substring(0,beautyRender.length) === beautyRender)
{
renderTypes.push(fileList[i].name);
}
}
}
//提示输入文件夹位置
var Path=Folder.selectDialog(“为渲染选择文件夹位置”)
//使用应用程序的路径并附加samples文件夹
var samplesFolder=文件夹(路径)
//获取文件
var fileList=samplesFolder.getFiles()
//创建数组以保存名称
var renderTypes=新数组();
//解析初始名称以获得类似的渲染元素
var beautyRender=文件列表[0]。名称
beautyRender=beautyRender.substr(0,beautyRender.length-4)
//获取具有类似名称的渲染元素
对于(var i=0;i
有人能看出我做错了什么,需要修改吗
更新
我仍在努力实现这一目标,在下面一张海报的帮助下,我将代码修改为:
for (var i = 0; i < fileList.length; i++)
{
var filename = fileList[i].name;
if (filename.match(/\.(stitchinfo)$/i) == null)
{
renderTypes.push(fileList[i].name);
}
}
for(var i=0;i
然而,这段新代码带来了一个新问题,它返回文件夹中包含的每个文件并显示它
我仍然很困惑,我如何才能让这个工作,因为我想。有人能帮我吗?您正在创建一个稀疏数组,因为当您忽略
文件列表中的文件名时,会跳过渲染类型中的元素。这可能会混淆渲染代码。改为:
renderTypes.push(fileList[i].name);
如果:
for (var i = 0; i < fileList.length; i++)
{
var filename = fileList[i].name;
if (filename.match(/\.(stitchinfo)$/i) == null)
{
if(fileList[i].name.substring(0,beautyRender.length) === beautyRender)
{
renderTypes.push(fileList[i].name);
}
}
}
for(var i=0;i
数组的错误使用
失踪”
不必要地使用“继续”
设法解决了这个问题
我最后做的是创建一个新函数,并将其传递到我的调用中,以检查文件夹位置
function ignoreMe(f)
{
return f.name.match(/\.(stitchinfo)$/i) == null;
}
和文件夹检查:
var fileList = samplesFolder.getFiles(ignoreMe);
谢谢你的回答。但是,我尝试了这个,它只显示了它应该跳过的文件。对不起,我忘记了反转条件。我的错!再次感谢您的编辑,但是现在它没有显示任何内容。窗口为空,文件夹中有文件可供我测试。我没有您的数据,因此无法真正尝试。你能设置一个JSFIDLE,这样我们就可以修复它了吗?我举了一个例子:它对我有用。如果您有一些不同的数据,请指定。