Batch file 如何在批处理文件中重命名文件?
在文件夹中,我有一个文件名为:Batch file 如何在批处理文件中重命名文件?,batch-file,Batch File,在文件夹中,我有一个文件名为: 66-1-194-111-F.tiff 66-1-194-111-F.tab 66-1-194-111-F.tfw 66-1-194-111-R.tiff 66-1-194-111-R.tab 66-1-194-111-R.tfw 66-1-194-111-G.tiff 66-1-194-111-G.tab 66-1-194-111-G.tfw **** 66-1-194-111可以更改。我想重命名这个文件。如果名称中的最后一个符号IfF我想设置文件名66-
66-1-194-111-F.tiff
66-1-194-111-F.tab
66-1-194-111-F.tfw
66-1-194-111-R.tiff
66-1-194-111-R.tab
66-1-194-111-R.tfw
66-1-194-111-G.tiff
66-1-194-111-G.tab
66-1-194-111-G.tfw
****
66-1-194-111
可以更改。我想重命名这个文件。如果名称中的最后一个符号IfF
我想设置文件名66-1-194-111-Q
。如果R
我想设置文件名为66-1-194-111-W
如何使用此if语句重命名文件?如果文件的名称如图所示
ren "*-F.*" "*-Q.*"
只需确保以适当的方式进行重命名,以避免混合不同的文件集
对于“自动化”方式,您可以对此进行调整
@echo off
setlocal enableextensions
for %%a in ( "F Q" "R W" ) do for /f "tokens=1,2" %%b in (%%a) do (
echo ren "*-%%b.*" "*-%%c.*"
)
endlocal
请注意,
ren
行仅回显到控制台。如果输出正确,请删除echo以重命名文件。如果文件命名如图所示
ren "*-F.*" "*-Q.*"
只需确保以适当的方式进行重命名,以避免混合不同的文件集
对于“自动化”方式,您可以对此进行调整
@echo off
setlocal enableextensions
for %%a in ( "F Q" "R W" ) do for /f "tokens=1,2" %%b in (%%a) do (
echo ren "*-%%b.*" "*-%%c.*"
)
endlocal
请注意,
ren
行仅回显到控制台。如果输出正确,请删除echo以重命名文件。如果文件命名如图所示
ren "*-F.*" "*-Q.*"
只需确保以适当的方式进行重命名,以避免混合不同的文件集
对于“自动化”方式,您可以对此进行调整
@echo off
setlocal enableextensions
for %%a in ( "F Q" "R W" ) do for /f "tokens=1,2" %%b in (%%a) do (
echo ren "*-%%b.*" "*-%%c.*"
)
endlocal
请注意,
ren
行仅回显到控制台。如果输出正确,请删除echo以重命名文件。如果文件命名如图所示
ren "*-F.*" "*-Q.*"
只需确保以适当的方式进行重命名,以避免混合不同的文件集
对于“自动化”方式,您可以对此进行调整
@echo off
setlocal enableextensions
for %%a in ( "F Q" "R W" ) do for /f "tokens=1,2" %%b in (%%a) do (
echo ren "*-%%b.*" "*-%%c.*"
)
endlocal
请注意,
ren
行仅回显到控制台。如果输出正确,请删除echo
以重命名文件。那么对于创建批处理文件所需的每一组文件?@KliverMax:不,每一组文件只需一行,或一个循环预定义变量,或。。。。但正如前面所说的,只是要确保在重命名时避免冲突。如果将F重命名为Q,并且存在Q文件,则现在无法将这两组文件分开。确保对仍然不存在的内容进行了所有重命名,为以下重命名留出空间(可用字母)。@KliverMax:请参阅更新的答案。这只是一种方法。这取决于你的真实文件名。我把你的代码放在了bat文件中。将bat文件复制到“我的文件”文件夹中。但当我开始使用bat文件时?n控制台我收到一条消息说找不到文件。@klivermax:test在您的文件夹中dir“*-f.*”
找到您的文件。如果有,测试更新的代码。我已经在文件掩码中添加了引号(在本例中,它们不是必需的,但是…),并确保启用了命令扩展名(默认情况下,它们是启用的,但是…),因此对于创建批处理文件所需的每一组文件?@KliverMax:不,每一组文件只需一行,或者对于
循环预定义变量只需一个,或者。。。。但正如前面所说的,只是要确保在重命名时避免冲突。如果将F重命名为Q,并且存在Q文件,则现在无法将这两组文件分开。确保对仍然不存在的内容进行了所有重命名,为以下重命名留出空间(可用字母)。@KliverMax:请参阅更新的答案。这只是一种方法。这取决于你的真实文件名。我把你的代码放在了bat文件中。将bat文件复制到“我的文件”文件夹中。但当我开始使用bat文件时?n控制台我收到一条消息说找不到文件。@klivermax:test在您的文件夹中dir“*-f.*”
找到您的文件。如果有,测试更新的代码。我已经在文件掩码中添加了引号(在本例中,它们不是必需的,但是…),并确保启用了命令扩展名(默认情况下,它们是启用的,但是…),因此对于创建批处理文件所需的每一组文件?@KliverMax:不,每一组文件只需一行,或者对于
循环预定义变量只需一个,或者。。。。但正如前面所说的,只是要确保在重命名时避免冲突。如果将F重命名为Q,并且存在Q文件,则现在无法将这两组文件分开。确保对仍然不存在的内容进行了所有重命名,为以下重命名留出空间(可用字母)。@KliverMax:请参阅更新的答案。这只是一种方法。这取决于你的真实文件名。我把你的代码放在了bat文件中。将bat文件复制到“我的文件”文件夹中。但当我开始使用bat文件时?n控制台我收到一条消息说找不到文件。@klivermax:test在您的文件夹中dir“*-f.*”
找到您的文件。如果有,测试更新的代码。我已经在文件掩码中添加了引号(在本例中,它们不是必需的,但是…),并确保启用了命令扩展名(默认情况下,它们是启用的,但是…),因此对于创建批处理文件所需的每一组文件?@KliverMax:不,每一组文件只需一行,或者对于
循环预定义变量只需一个,或者。。。。但正如前面所说的,只是要确保在重命名时避免冲突。如果将F重命名为Q,并且存在Q文件,则现在无法将这两组文件分开。确保对仍然不存在的内容进行了所有重命名,为以下重命名留出空间(可用字母)。@KliverMax:请参阅更新的答案。这只是一种方法。这取决于你的真实文件名。我把你的代码放在了bat文件中。将bat文件复制到“我的文件”文件夹中。但当我开始使用bat文件时?n控制台我收到一条消息说找不到文件。@klivermax:test在您的文件夹中dir“*-f.*”
找到您的文件。如果有,测试更新的代码。我已经在文件掩码中添加了引号(在本例中,引号不是必需的,但是…),并确保命令扩展名已启用(默认情况下已启用,但是…)