用于反转文件名中日期顺序的批处理脚本
Batch script to invert the order of a date in file names
我想使用批处理脚本重命名一堆使用以下命名方案的文件:
File 2-9.pdf
File 3-9.pdf
File 4-9.pdf
[...]
我想把数字倒过来,这样它们就会变成...
File 9-2.pdf
File 9-3.pdf
File 9-4.pdf
[...]
通常我会搜索重复的字符串并替换它,但在这种情况下,字符串会随着每个文件而变化,所以我不知道该怎么做。有什么想法吗?
感谢您的阅读。
编辑:我在 Windows,我想创建一个 .bat 文件。像
For %%# in ("file-path") Do (
Set "File=%%~nx#"
Ren "%%#" "!File:%Pattern%=%Replace%!"
)
比较容易。不要使用 "search and replace",而是使用适当的标记和分隔符来拆分文件名:
@echo off
for %%f in (*.pdf) do (
for /f "tokens=1,2,3 delims=- " %%a in ("%%~nf") do (
ECHO ren "%%~f" "%%a %%c-%%b%%~xf"
)
)
(注意:排除故障后删除ECHO
以启用重命名命令)
我想使用批处理脚本重命名一堆使用以下命名方案的文件:
File 2-9.pdf
File 3-9.pdf
File 4-9.pdf
[...]
我想把数字倒过来,这样它们就会变成...
File 9-2.pdf
File 9-3.pdf
File 9-4.pdf
[...]
通常我会搜索重复的字符串并替换它,但在这种情况下,字符串会随着每个文件而变化,所以我不知道该怎么做。有什么想法吗?
感谢您的阅读。
编辑:我在 Windows,我想创建一个 .bat 文件。像
For %%# in ("file-path") Do (
Set "File=%%~nx#"
Ren "%%#" "!File:%Pattern%=%Replace%!"
)
比较容易。不要使用 "search and replace",而是使用适当的标记和分隔符来拆分文件名:
@echo off
for %%f in (*.pdf) do (
for /f "tokens=1,2,3 delims=- " %%a in ("%%~nf") do (
ECHO ren "%%~f" "%%a %%c-%%b%%~xf"
)
)
(注意:排除故障后删除ECHO
以启用重命名命令)