jQuery将本地文件移动到另一个目录

时间:2018-05-30 05:46:42

标签: javascript jquery file

我想创建一个计算目录中文件的函数。 如果有5个文件,请将最旧的文件移动到另一个目录。

我找到了一个代码sample,但它不符合我的情况。

var myFileList = Folder("C:/Test").getFiles();
var folderCount = GetFoldersCount(myFileList) ;
$.writeln(folderCount);

function GetFoldersCount(fileList) {
    var folderCount = 0;
    console.log(folderCount);
    for (var i = 0; i < fileList.length; i++) {
        var myFile = myFileList[i];
        if (myFile instanceof Folder)
        folderCount++;
    }
    return folderCount
}

我收到错误“文件夹”未定义

2 个答案:

答案 0 :(得分:2)

JS无法直接访问本地文件以解决安全问题。 另一件事是你可以通过Ajax调用和进程访问驱动器上的文件  回应。使用Ajax,您可以在后台发送要执行的操作。

您在InDesign论坛中使用了示例。我不知道InDesign,但我不确定它会起作用。 否则,请查找有关HTML5 File API的文档。希望你能找到答案。 https://w3c.github.io/FileAPI/

一些例子: https://www.html5rocks.com/en/tutorials/file/dndfiles/

答案 1 :(得分:0)

我找到了这项任务的解决方案,这对我来说非常适合。

我用初始目录调用该函数:

moveErrorFiles('C:\\Folder1');

以下是我使用的两个简单函数。

function moveErrorFiles(fileDir) {
    var fileSysObj, file, folder, fileCounter, currentFile;
    var fileMumber = 0;

    fileSysObj = new ActiveXObject("Scripting.FileSystemObject");
    folder = fileSysObj.GetFolder(fileDir);
    fileCounter = new Enumerator(folder.files);

    for (; !fileCounter.atEnd(); fileCounter.moveNext()) {
        currentFile = fileCounter.item();
        fileMumber++;
        if (fileMumber > 5) {
            moveFile(currentFile);
        }
    }
}   //function moveErrorFiles() ends here

function moveFile(fileToMove) {
    var object = new ActiveXObject("Scripting.FileSystemObject");
    var file = object.GetFile(fileToMove);
    file.Move("C:\\Folder2\\");
    console.log("File was moved successfully");
}   //function moveFile() ends here