2

多くのファイルを含むフォルダーにいる間、多くのファイルを選択して 1 つのみの名前を変更できます。これは名前を取得しNewName (1)、残りは次のようになりNewName (2)ます。

このアルゴリズムを使用する方法はありますか?

私は主に WinApi メソッドを一般的に使用することに興味があります。この特定のアルゴリズムを実装するのは簡単です。どの方法を使用しているかを掘り下げてexplorer.exe確認する方法はわかりませんが、おそらく再利用可能なものになるでしょう。

私は主に使用しますc#が、どの言語の例でも受け入れられます。

4

3 に答える 3

2

単一の関数呼び出しではありません。SHFileOperation()ただし、フラグを使用してファイルを1つずつループし、FOF_RENAMEONCOLLISION各ファイルの名前を同じターゲットファイル名に変更して、Windowsが独自のファイル名を生成するようにすることができます。

于 2012-08-31T18:10:48.197 に答える
0

私が指摘したように、Remy Lebeau私はそれを行うための公式の方法を思いついた。

IFileOperation::RenameItems
Declares a set of items that are to be given a new display name.
All items are given the same name.
...
If more than one of the items in the collection at pUnkItems is
in the same folder, the renamed files are appended with a number in
parentheses to differentiate them, for instance newfile(1).txt,
newfile(2).txt, and newfile(3).txt.

参照されているリンクは次のとおりです

これは、WindowsシェルAPIを使用して作業を開始する場所に関する私の質問にも答えます。答えはここにあります。

于 2012-09-01T13:27:51.503 に答える