在批处理脚本中更改文件名

时间:2013-09-23 22:38:16

标签: batch-file batch-processing batch-rename

我需要在批处理脚本中更改文件名。

以下是我制作的样本

SET date = 20210803
SET job = 69187

cd "H:\arbortray foldher\"
for %%i in (*.txt*) do REN %%i randum_%job%-text-%date%%%i

它不起作用;什么也没做。我希望它使用在脚本中使用的全局定义变量将特定文件名从泛型版本更改为一个。该文件已从另一个将该文件放入此文件夹的程序中移动。我不能在这些步骤中将变量包含在文件名中。我想将命令包含在更大的脚本中,使用变量执行其他操作。具体来说,在这种情况下,我需要命令将文件从通用版本重命名为包含先前在脚本中定义的变量的文件。这些变量每周都在变化

2 个答案:

答案 0 :(得分:0)

问题是:

A)您的变量名称中将包含空格 B)CD命令需要/d
C)for in有一个bug,必须通过更改扩展并稍后恢复它来解决。

@echo off
SET date=20210803
SET job=69187

cd /d "H:\arbortray foldher\"
for %%i in (*.txt) do REN "%%i" "randum_%job%-text-%date%%%~ni.tmp"
ren *.tmp *.txt
echo done
pause

空格导致了问题,在重命名命令中,您需要双引号来满足空格。

答案 1 :(得分:0)

查看跨平台renamer工具..