windows下bat如何批处理重命名文件?
现在有一些文件夹(例如A-Z),每个文件夹都有一个统一名称的文件(比如A.txt)。求助,是否可以实现让电脑读取出每一个文件夹的名称,并将文件夹里的A.txt替换成文件夹...
现在有一些文件夹(例如A-Z),每个文件夹都有一个统一名称的文件(比如A.txt)。
求助,是否可以实现让电脑读取出每一个文件夹的名称,并将文件夹里的A.txt替换成 文件夹名.txt呢? 展开
求助,是否可以实现让电脑读取出每一个文件夹的名称,并将文件夹里的A.txt替换成 文件夹名.txt呢? 展开
2个回答
展开全部
不清楚你的实际文件/情况,仅以问题中的样例/说明为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件夹放一起运行
@echo off
rem 将多个文件夹里的一个相同名称的文件以所在的文件夹名称重命名
mode con lines=3000
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
set "fname=A.txt"
for /f "delims=" %%a in ('dir /ad/b') do (
if exist "%%a\%fname%" (
for /f "delims=" %%b in ("%fname%") do (
echo;"%%a\%fname%" --^> "%%~na%%~xb"
)
)
)
echo;%#% +%$%%$%/%@% %z%
pause
exit
@echo off
rem 将多个文件夹里的一个相同名称的文件以所在的文件夹名称重命名
mode con lines=3000
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
set "fname=A.txt"
for /f "delims=" %%a in ('dir /ad/b') do (
if exist "%%a\%fname%" (
for /f "delims=" %%b in ("%fname%") do (
echo;"%%a\%fname%" --^> "%%~na%%~xb"
)
)
)
echo;%#% +%$%%$%/%@% %z%
pause
exit
追问
按照你给的命令输入完,看到命令里显示的变化,可是实际文件夹中的txt文件名并没有发生改变。
追答
按运行后窗口标题栏中的提示联系我
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询