如何批量在多个文件夹名称前面加上年份、月份、日期等时间序号?

概要:通过前面文章的介绍,相信大家都学会了如何批量在文件夹名前面加上数字序号,对文件夹进行编号排序的功能,很多朋友都反馈非常的好用、非常的实用!今天给大家介绍一下如何批量给多个文件夹名加上年份、月份等时间类型的序号,同样也是非常的简单,非常的实用!

效果预览

今天给大家介绍的是使用「我的ABC软件工具箱」在多个文件夹名称前面加上年份序号或者月份序号,对文件夹进行编号排序的方法, 我们先来看下批量给文件夹加上时间序号后的效果吧!

这里我们能看到,之前的文件名都变成了年月的格式,文件夹看起来非常的整齐有序。这样在某些场景下,对于我们对文件的整理是非常有帮助的,这样我们在找文件的时候就非常方便了!接下来我们就看下怎么批量给多个文件夹名称加上年月格式的时间序号吧!

工具准备

我们打开「我的ABC软件工具箱」,按下图所示选择「文件名称」-「编排文件夹序号」的功能。

选项设置

对文件调整好顺序后,就可以进入到规则设置的界面。

相信前面看过批量给文件夹序号文章的朋友应该非常熟悉这个界面了,我们来逐一的看一下。

1、请选择序号类型

    这里支持多种类型的序号,因为我们这里是加年份月份的序号,所以我们需要选择「日期时间序号」这个选项。

2、序号规则

   当我们选择日期时间序号之后,就可以设置日期时间序号的规则了。我们可以选择一个开始的日期,然后选择在开始日期的基础上每次增长 n 年、n 个月还是 n 天等等!并且可以选择呈现的日期时间格式【yyyy年MM月】。

3、处理方式

    「每个文件夹重新开始编号」适用于处理文件分布在多个不同的文件夹中,并且每个文件夹需要单独的进行编号的场景。如果待处理文件都是在一个文件夹中,则直接选择「默认」即可!

4、序号位置

    我们可以选择序号放在文件名称的前面还是后面,也可以直接用序号覆盖之前的整个文件名称。从前面的效果预览我们可以看出来,我们需要选择「覆盖整个文件名」这个选项。

5、序号前缀和序号后缀

    我们可以在序号的前面或者后面去设置一些字符,在上面的效果当中,我们能看到序号后面有一个【验收文档】,所以我们在序号后缀的输入框中输入这个字符就可以了,这样我们的文件名就变成了【xx年xx月验收材料】的格式了。

处理完成

设置完规则后,点击下一步,软件就开始对我们选择的多个文件夹进行批量添加年月类型的时间序号的操作了,处理完成后,所有的文件夹就是按照序号进行编号排序的了,对于文件夹的收纳是不是非常有帮助呢?

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这是一个实现你要求的BAT文件,请注意备份你的文件夹,以免操作错误造成数据丢失。 ```bat @echo off setlocal EnableDelayedExpansion rem 遍历当文件夹下所有非文件夹文件 for /f "tokens=*" %%a in ('dir /b /a-d') do ( rem 获取文件创建时间 for /f "tokens=1-6 delims=/: " %%b in ("%%~ta") do ( set "datetime=%%d-%%b-%%c_%%e%%f" ) rem 判断是否有重名文件 if exist "!datetime!-%%a" ( set "index=1" :check_name if exist "!datetime!-%%~na_!index!%%~xa" ( set /a "index+=1" goto check_name ) set "new_name=!datetime!-%%~na_!index!%%~xa" ) else ( set "new_name=!datetime!-%%a" ) rem 重命名文件 ren "%%a" "!new_name!" ) ``` 该BAT文件的实现思路是循环遍历当文件夹下所有非文件夹文件,获取每个文件的创建时间,然后将文件名修改为创建时间,如果有重名文件则在创建时间后面加上序号。 注意:该BAT文件会修改当文件夹下所有非文件夹文件文件名,请谨慎使用。 ### 回答2: 要实现这个功能,可以使用批处理脚本来实现。 首先,需要使用如下的命令获取当文件夹下非文件夹文件列表,并遍历每一个文件: ```bat @echo off for %%F in (*) do ( if not "%%~aF"=="d" ( REM 在这里执行文件重命名操作 ) ) ``` 在上述代码中,`%%F`表示当遍历到的文件名。`%%~aF`表示获取文件属性,`"d"`表示目录,所以`if not "%%~aF"=="d"`表示当遍历到的不是文件夹。 然后,可以使用如下的命令来获取文件的创建日期时间: ```bat for /F "usebackq %%D in ('%~tF') do ( REM 在这里获取并处理日期时间 ) ``` 在上述代码中,`%~tF`表示获取文件时间戳。`for /F "usebackq %%D in ('%~tF')`表示使用`%%D`来接收获取到的时间戳。 最后,可以使用如下的命令来执行文件重命名操作,将文件名修改为创建时间,并在后面加上序号: ```bat setlocal enabledelayedexpansion for /F "usebackq %%D in ('%~tF') do ( set "counter=1" set "newName=%%~nF_%%~xD" :loop if exist "!newName!" ( set /a "counter+=1" set "newName=%%~nF_!counter!_%%~xD" goto loop ) ren "%%F" "!newName!" ) endlocal ``` 在上述代码中,`setlocal enabledelayedexpansion`和`endlocal`命令用于启用和禁用延迟变量展开。`set "counter=1"`表示将序号计数器设置为1。`set "newName=%%~nF_%%~xD"`表示将新的文件名设为原文件加上时间戳和序号。使用`:loop`和`goto loop`语句实现重复加序号的逻辑。`ren "%%F" "!newName!"`表示使用`ren`命令将原文件名修改为新的文件名。 经过以上的代码处理,即可实现将当文件夹下非文件夹文件名修改为创建时间,并在重复时间文件名后加上序号的功能。 注意:在实际使用时,请将上述代码保存为.bat文件,在所需的文件夹下双击运行即可实现文件重命名操作。 ### 回答3: 可以使用以下的批处理脚本来实现将当文件夹下非文件夹文件名修改为创建时间,如果时间重复则在后面加上序号: ``` @echo off setlocal enabledelayedexpansion set count=1 for /f "delims=" %%a in ('dir /b /a-d') do ( set "name=%%a" set "ext=!name:~-4!" set "datestring=%%~ta" set "year=!datestring:~0,4!" set "month=!datestring:~5,2!" set "day=!datestring:~8,2!" set "time=!datestring:~11,2!" set "minute=!datestring:~14,2!" set "second=!datestring:~17,2!" set "newname=!year!!month!!day!!time!!minute!!second!!ext!" if not "!name!"=="!newname!" ( if exist "!newname!" ( set "newname=!year!!month!!day!!time!!minute!!second!_!count!!ext!" set /a count+=1 ) ren "%%a" "!newname!" ) ) endlocal ``` 这个脚本的思路是使用`dir`命令获取当文件夹下的非文件夹文件列表,然后逐个遍历文件。对于每个文件,首先从创建时间获取年、月、日、时、分、秒的信息,然后将这些信息按照指定的格式拼接在一起,并添加上原始文件的扩展名,作为新的文件名。如果新的文件名已经存在,则在文件名后面添加一个序号。 注意:这个脚本假设文件名的长度不超过260个字符,使用24小时格式的时间,并且不处理带有特殊字符的文件名。如果有特殊要求,可以相应地对脚本进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值