我有一个问题是将文件重命名为dir的结果。 示例:
我在C盘中有一个文件夹名称候选人,而在候选人文件夹中有以下文件:
当我 dir 时,我会获得文件列表。
在文件夹中将始终是1个txt文件和1个bmp文件
如何重命名BMP文件,使其与TXT文件具有相同的名称,假设我使用 dir * .txt
在上面的示例中,如何将 onething.bmp 更改为 something.bmp
提前感谢您的回答
答案 0 :(得分:1)
for %%X in ("*.txt") do (
for %%Y in ("*.bmp") do (
echo ren %%Y %%~nX%%~xY
)
)
如果您需要输出,请删除echo
。
有关%%~nX
等的说明,请参阅for /?
答案 1 :(得分:0)
这应该有效:
@ECHO OFF
FOR %%X in ("*.txt") DO (SET txtName=%%X)
FOR %%X in ("*.bmp") DO (SET bmpName=%%X)
FOR /F "tokens=1 delims=." %%X IN ("%txtName%") DO (
REN %bmpName% %%X.bmp
)
这仅在bat文件与txt和bmp文件位于同一文件夹中时才有效。如果它位于其他地方,您将不得不调整路径。 如果falkder中有几个bmp / txt文件,只有" last"文件将被处理。