2

在包含大量文件的文件夹中,可以选择许多文件并仅重命名一个文件。这个将获得名称NewName (1),其余的将依此NewName (2)类推。

有没有办法使用这个算法?

一般来说,我最感兴趣的是使用 WinApi 方法。很容易实现这个特定的算法。我不知道如何深入研究explorer.exe并查看它使用什么方法,但它可能是可重用的。

我主要使用c#,但任何语言示例都会被接受。

4

3 回答 3

2

不是一个函数调用,不。SHFileOperation()但是您可以使用标志一次循环一个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 shell api 来做事的问题。答案就在这里

于 2012-09-01T13:27:51.503 回答
0

是的,可以在这里查看http://blog.gadodia.net/stupid-windows-trick-mass-renaming/我用它来组织和编号文件

于 2014-02-17T20:31:36.660 回答