1

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

下面是我做的一个样本

SET date = 20210803
SET job = 69187

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

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

4

2 回答 2

0

看看跨平台重命名器工具..

于 2013-09-25T09:12:04.550 回答
0

问题是:

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

@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

空格引起了问题,在重命名命令中,您需要双引号来容纳空格。

于 2013-09-24T00:22:23.650 回答