批处理,删除子文件夹内文件的文件名指定字符。
比如在“D:/工作”文件夹内有三个子文件夹,分别是“A”、“B”和“C”,三个文件夹有若干图片文件,文件比如是“1231拷贝.jpg”“3254拷贝.jpg”,请问怎么样...
比如在“D:/工作”文件夹内有三个子文件夹,分别是“A”、“B”和“C”,三个文件夹有若干图片文件,文件比如是“1231 拷贝.jpg”“3254 拷贝.jpg”,请问怎么样写个批处理文件,可以每次执行时把“1231 拷贝.jpg”等文件自动命名为“1231.jpg”,也就是删除指定的“ 拷贝”(其中包括一个空格)字符呢?
展开
1个回答
展开全部
@echo off&setlocal enabledelayedexpansion
pushd D:\工作
for /f "delims=" %%a in ('dir /a-d /b /s *拷贝*.jpg') do (
set "filename=%%~nxa"
set "filename=!filename: 拷贝=!"
ren "%%a" "!filename!"
)
popd
追问
感谢,有用,不过,如果我单单只针对三个子文件夹,其他的子文件夹不想受影响,请问可以改吗?
追答
@echo off&setlocal enabledelayedexpansion
pushd D:\工作
for %%a in ("A" "B" "C") do (
cd %%a
for /f "delims=" %%B in ('dir /a-d /b *拷贝*.jpg') do (
set "filename=%%~nxB"
set "filename=!filename: 拷贝=!"
ren "%%B" "!filename!"
)
cd ..
)
popd
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询