如何使用批处理文件按 WIndows 上创建的日期自动重命名文件排序
How to automaticily rename file sort by date created on WIndows using batch file
我的OS是Windows
我的文件是:
FILENAME DATECREATED
Jack.txt 3 AM
John.txt 4 AM
Mary.txt 5 AM
Paul.txt 1 AM
那么如何按使用此模式创建的日期批量自动重命名文件:
预期结果:
FILENAME DATECREATED
1. Paul.txt 1 AM
2. Jack.txt 3 AM
3. John.txt 4 AM
4. Mary.txt 5 AM
- Paul.txt改为“1.Paul.txt”因为这个文件先创建
(凌晨 1 点)。
- Mary.txt改为“4.Mary.txt”是因为这个文件
最后创建(凌晨 5 点)
我听说这个问题有一些脚本,但我也不确定
任何帮助将不胜感激
谢谢
首先,以正确的顺序获取文件(/od
按 date/time 排序,/a-d
排除文件夹名称,/b
只列出文件名。参见 dir /?
了解详情)。
然后给它们编号(通过管道将它们传送到 findstr /N
。有关详细信息,请参阅 findstr /?
)。
然后使用 for /f
循环将输出分解为数字和文件名,并根据您的需要重新组合它们(有关详细信息,请参阅 for /?
)
@echo off
for /f "tokens=1,* delims=:" %%a in ('dir /od /a-d /b ^|findstr /N "^"') do ECHO ren "%%b" "%%a. %%b"
注意:我只是通过回显来“解除”ren
命令。当输出满足您时,只需删除 ECHO
.
感谢Stefan的指教
这是解决这个问题的批处理脚本,
@echo off
for /f "tokens=1,* delims=:" %%a in ('dir /od /a-d /b ^|findstr /N "^"') do ren "%%b" "%%a. %%b"
我的OS是Windows
我的文件是:
FILENAME DATECREATED
Jack.txt 3 AM
John.txt 4 AM
Mary.txt 5 AM
Paul.txt 1 AM
那么如何按使用此模式创建的日期批量自动重命名文件:
预期结果:
FILENAME DATECREATED
1. Paul.txt 1 AM
2. Jack.txt 3 AM
3. John.txt 4 AM
4. Mary.txt 5 AM
- Paul.txt改为“1.Paul.txt”因为这个文件先创建 (凌晨 1 点)。
- Mary.txt改为“4.Mary.txt”是因为这个文件 最后创建(凌晨 5 点)
我听说这个问题有一些脚本,但我也不确定
任何帮助将不胜感激
谢谢
首先,以正确的顺序获取文件(/od
按 date/time 排序,/a-d
排除文件夹名称,/b
只列出文件名。参见 dir /?
了解详情)。
然后给它们编号(通过管道将它们传送到 findstr /N
。有关详细信息,请参阅 findstr /?
)。
然后使用 for /f
循环将输出分解为数字和文件名,并根据您的需要重新组合它们(有关详细信息,请参阅 for /?
)
@echo off
for /f "tokens=1,* delims=:" %%a in ('dir /od /a-d /b ^|findstr /N "^"') do ECHO ren "%%b" "%%a. %%b"
注意:我只是通过回显来“解除”ren
命令。当输出满足您时,只需删除 ECHO
.
感谢Stefan的指教
这是解决这个问题的批处理脚本,
@echo off
for /f "tokens=1,* delims=:" %%a in ('dir /od /a-d /b ^|findstr /N "^"') do ren "%%b" "%%a. %%b"