-2

あなたの助けが必要です。

ファイル名が存在するかどうか、およびファイル名の最後に自動的に番号が追加されるかどうかを検出するファイル命名システムが必要です。2から

すなわち。

var myString = "2011-1234567";

myString = myString + "-2";

if (2011-1234567-2 already exists) then output new file number as: 2011-1234567-3 

したがって、idは、ファイル名がすでに存在する場合に、その末尾に自動的に数字を追加する関数を理想的に作成できるようにしたいのです。

4

3 に答える 3

0

これは非常に一般的です...

var base_filename = "file"
var i = 0;

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

したがって、次のように使用します。

var new_file = newFileName();

繰り返しますが、これは非常に一般的です。それで遊んでみてください。

于 2012-09-06T16:08:43.200 に答える
0
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機能に「存在する」という独自のビジョンを定義する必要があります。

于 2012-09-06T16:30:23.037 に答える
0

javascriptのファイル命名システム?node.jsを使用していますか?そうでない場合は、次のbashスクリプトを使用します。

#!/bin/bash
filename= tommy
i=0
for file in *
i++
 do mv "$filename" "${filename}-i"
done
于 2012-09-06T16:41:57.760 に答える