数字文件命名系统

Numeric file naming system

本文关键字:系统 文件 数字      更新时间:2023-09-26

我需要你的帮助。

我希望能够有一个文件命名系统,可以检测文件名是否存在,以及它是否会自动在末尾添加一个数字。从2 开始

即。

var myString = "2011-1234567";
myString = myString + "-2";
if (2011-1234567-2 already exists) then output new file number as: 2011-1234567-3 

因此,理想情况下,id希望能够创建一个函数,如果文件名已经存在,则该函数将自动在末尾添加一个数字。

var exists = 0
function file_exists(name) {
   // replace with something suitable for your environment
   exists = 1 - exists 
   return exists
}
function new_name(suggested) {
   // just return back new name if it available
   if (!file_exists(suggested)) { return suggested }
   // try to split name to "base" and "index" parts
   var have_index = suggested.match(/^(.+)'-('d+)$/)
   var unused_index
   if (have_index && have_index[2]) {
      base = have_index[1]
      unused_index = ++have_index[2]
   } else {
      // use entire name and start from index 2 if not found
      base = suggested
      unused_index = 2
   }
   // loop until you find next free index
   while (file_exists(base  + "-" + unused_index)) { unused_index++ }
   // ... and return result
   return base  + "-" + unused_index
}

运行new_name("tommy"),得到"tommy-2"。new_name("tommy-2")-"tommy-3"等等。当然,你需要在file_exists函数中定义你自己的"存在"愿景。

这是非常通用的。。。

var base_filename = "file"
var i = 0;
function newFileName(){
    i++;
    var filename = base_filename + "-" +i;
    return filename;
}

所以你应该这样使用它:

var new_file = newFileName();

同样,这是非常通用的。玩吧。

javascript中的文件命名系统?你在用node.js吗?如果没有,那么使用这个bash脚本:

#!/bin/bash
filename= tommy
i=0
for file in *
i++
 do mv "$filename" "${filename}-i"
done