![命令行:文件重命名的通用命令](https://linux22.com/image/1587747/%E5%91%BD%E4%BB%A4%E8%A1%8C%EF%BC%9A%E6%96%87%E4%BB%B6%E9%87%8D%E5%91%BD%E5%90%8D%E7%9A%84%E9%80%9A%E7%94%A8%E5%91%BD%E4%BB%A4.png)
我遇到了一个问题。我该如何替换该代码:
if exist path\file1.temp rename path\*.zds *.file1
if exist path\file2.temp rename path\*.zds *.file2
具有一些通用的东西,所以它选择<filename>.temp
并重命名*.zds
为*.<filename>
谢谢
答案1
使用这棵初始树:
> tree a:\ /f
A:\
└───test
bar.zds
baz.zds
filex.temp
foo.zds
此命令行:
for %A in (A:\test\*.temp) do @Ren "A:\Test\*.zds" "*.%~nA"
将产生这样的结果:
> tree a:\ /f
A:\
└───test
bar.filex
baz.filex
filex.temp
foo.filex
在批处理文件中将百分号加倍:
@Echo off
Set "Folder=A:\Test"
for %%A in (%Folder%\*.temp) do Ren "%Folder%\*.zds" "*.%%~nA"