实现通配符文件复制/重命名(test.txt + * .js = test.js)

时间:2014-04-08 09:57:34

标签: javascript batch-file wildcard

我写了一个文件管理器,我收到了许多实现基于文件复制/重命名的通配符(星号复制/重命名,文件掩码复制/重命名)的请求。我发现自己很困惑,因为我实际上不知道这个功能背后是什么样的算法。我只知道我一直在重命名fileList=['file1.txt', 'file2.txt', 'file3.txt']wildcard='*.js'fileList将成为['file1.js', 'file2.js', 'file3.js'] file='noname.txt'wildcard mask='note1.txt',结果文件为note1.txt。

但我注意到像“abc * .xy”这样的东西也是可能的。它只是让我困惑,如何实现这样的功能?我找不到任何能够详细解释这在Windows / DOS中是如何工作的wiki或docs。这背后的算法有多复杂?我应该寻找点并从那里开始,或者有一些正则表达式搜索或其他什么?

在BASH中,这不起作用,我尝试了mv test.txt *.js,我得到了一个名为*.js的文件,但在Windows中,我认为ren test.txt *.js将按预期工作。

最后我需要一个与此类似的声明函数:

function getCopyRenameFileName(src, mask) // returns new name

0 个答案:

没有答案