写一个bat 将本文件夹下的文件的名称加上创建时间,精确到毫秒
时间: 2023-06-26 12:04:54 浏览: 131
批处理bat文件
以下是一个可以实现你要求的 Windows 批处理脚本:
```bat
@echo off
setlocal enabledelayedexpansion
for %%F in (*) do (
set "oldName=%%F"
set "createTime=%%~tF"
set "millis=!createTime:~-2!"
set "createTime=!createTime:~0,-2!!millis!"
ren "!oldName!" "!oldName!_!createTime!"
)
```
解释一下上面的代码:
1. `@echo off` 关闭命令行窗口的回显。
2. `setlocal enabledelayedexpansion` 启用延迟环境变量扩展,这样我们才能在 for 循环中使用 `!` 符号来获取变量的值。
3. 使用 `for` 循环遍历当前文件夹中的所有文件。
4. 对于每个文件,分别获取其旧名称和创建时间。
5. 由于 Windows 的时间精度只能到秒,所以我们需要手动获取毫秒部分并将其加入到创建时间中。
6. 最后使用 `ren` 命令将文件重命名为旧名称加上创建时间。
注意:由于 `ren` 命令无法处理重名文件,所以如果有多个文件的创建时间相同,它们将会被重命名为同一个名称,最终只会保留其中一个文件。如果你需要保留所有文件,请在重命名时加上一个唯一的后缀。
阅读全文