批处理文件名获取与替换文件
现在有两个文件:文件一:c:\abc.txt这个路径是当前批处理文件所在路径,文件名是已知且固定的。文件二:d:\123\*.txt这个文件名未知,路径已知,而且当前路径...
现在有两个文件:
文件一:c:\abc.txt 这个路径是当前批处理文件所在路径,文件名是已知且固定的。
文件二:d:\123\*.txt 这个文件名未知,路径已知,而且当前路径下只有一个该指名的文件。
现在需要把文件一复制到文件二的路径中并覆盖文件二。也就是说,先获取文件二的文件名并保存在变量中,删除文件二,将文件一复制到文件二的路径下,重命名刚复制的文件为已保存的名称。 展开
文件一:c:\abc.txt 这个路径是当前批处理文件所在路径,文件名是已知且固定的。
文件二:d:\123\*.txt 这个文件名未知,路径已知,而且当前路径下只有一个该指名的文件。
现在需要把文件一复制到文件二的路径中并覆盖文件二。也就是说,先获取文件二的文件名并保存在变量中,删除文件二,将文件一复制到文件二的路径下,重命名刚复制的文件为已保存的名称。 展开
1个回答
展开全部
@echo off & setlocal enabledelayedexpansion
for /r "D:\123" %%a in (*) do (
set filename=%%~na
del /s /q "d:\123\*.txt"
copy "C:\abc.txt" "D:\123\!filename!.txt"
)
pause
::中国批处理脚本联盟
更多追问追答
追问
你好,文件二的后缀名是固定且唯一,我运行您的代码,取得的文件名是其它后缀名的文件名。例如我想取得123.txt的文件名,它取的是456.ocx的文件名。请问怎么改一下就可以?
追答
:: 听你这样说的话,就是你这个 D 盘 123 文件夹里应该有很多文件
:: 那你想替换哪一个文件, 比如说这个文件名是否是固定的?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询