编程实现文件夹批量重命名等功能

来源:百度知道 编辑:UC知道 时间:2024/09/21 09:25:13
要求:用Vb或DELPHI语言编写,实在不行其它语言也可,相关要求在代码里已经设置好,生成的程序直接执行即可。
女朋友的生日快到了,她有一台电脑,我打算在电脑上做一点手脚让她惊喜一下。
1、程序能批量对文件夹重命名,比如原来的文件叫做123,则修改后为123老公***的形式。
《所有分区文件夹重命名和指定路径(分区)文件夹重命名分别实现方法,只要根目录文件夹重命名或根目录与子目录文件夹同时重命名实现的方法》“加《》部分若不理解可以略过”

2、把电脑里所有的图片(BMP、JPG)提取出来放到指定路径,并修改后缀名为**.老公的形式。再增加一个删除已提取文件的功能,“都是漫画,让她找我:)”在代码里要求有说明。

3、修改已经批量重命名文件夹的属性,为可读。再增加禁止修改文件夹属性功能。

4、可以加入自启动项目

5、可以在指定日期执行,即生日那天

6、以上缺少任意一项目都可运行,也就是有些功能可加可不加

7、代码有详细的注释

8、恢复程序,以上操作的逆程序。

9、若有不详细处请跟帖说明。

功能若相当完善,另高分赠送。
补充:请把方案详细说明,若达到我满意再送500分!

谢谢各位的好意,本帖我只想知道问题的答案,其它内容请勿在此发表

谢谢各位的好意,本帖我只想知道问题的答案,其它无聊内容请勿在此发表

参考一下:
@echo off&setlocal EnableDelayedExpansion
set a=1
for /f "delims=" %%i in ('dir /b *.wmv') do (
if not "%%~ni"=="%~n0" (
if !a! LSS 10 (ren "%%i" "哈哈0!a!.wmv") else ren "%%i" "呵呵!a!.wmv"
...
@echo off&setlocal EnableDelayedExpansion ::打开延迟
set a=1
for /f "delims=" %%i in ('dir /b *.wmv') do ( ::把文件夹里的所有wmv文件以,只显示文件名和扩展名的形式显示
if not "%%~ni"=="%~n0" ( ::%%~ni是对上面变量的扩展,扩展到名字。后面的%~n0指的是批处理自身。整句就是排除批处理自身的意思
if !a! LSS 10 (ren "%%i" "哈哈0!a!.wmv") else ren "%%i" "呵呵!a!.wmv" ::当变量a小于10时,把文件名命名为哈哈0!a!.wmv 而当a变量大于命名为呵呵!a!.wmv
set /a a+=1::这个很重要,这个批量改名的关键没有它可不行!表示执行了一次改名后在对下个文件进行改名操作。。。只有加入这个才会P起来o(∩_∩)o...哈哈!
pause

我用PHP 代码实现。你不会。。所以我说下原理。。先把文件名列表放在一个数组里面。。然后在对每一个文件循环重命名。。~在PHP里面比较简单。。不知道你的DELPHI怎么样

无聊的惊喜还是不要做的好,否则只有惊,没有喜……

还是不要有这样了,重命名会影响程序的正常运