我正在尝试重命名文件夹中的 dbf 文件。下面的批处理脚本当前设置为将文件重命名为其当前名称。如何修改语法以仅使用前 8 个字符(包括 .dbf 扩展名)重命名文件?我试过使用“%%~nx:~8.dbf”作为目标名称,但它似乎不起作用。谢谢!
for %%x in ("C:\Users\user\Documents\monthly_adhoc\importclm\*.dbf") do (
rename "%%x" "%%~nx.dbf")
输入文件应该是这样的:
12345678_XXXXXXX_KKKKKK.dbf
12364178_XXXXXXX_KKKKKK.dbf
12124668_XXXXXXX_KKKKKK.dbf
12342178_XXXXXXX_KKKKKK.dbf
我希望输出文件是这样的。
12345678.dbf
12364178.dbf
12124668.dbf
12342178.dbf
最佳答案
这应该可以做到。
@echo off
setlocal EnableDelayedExpansion
for %%x in ("C:\Users\user\Documents\monthly_adhoc\importclm\*.dbf") do (
set newname=%%~nx
ren "%%x" "!newname:~0,8!.dbf"
)
关于batch-file - CMD:根据文件夹名称的前 8 个字符批量重命名文件夹中文件的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31733995/