怎样用批处理批量删除多个文件名中[ ] 这个这外的字符

如我的文件夹是asd[dfd]sdff和wewr[etgdd]fafgsf最后我只要打文件名改为[dfd]和[etgdd].什么批量.谢谢帮帮忙咯.我是要改文件夹的名字... 如我的文件夹是 asd[dfd]sdff 和 wewr[etgdd]fafgsf 最后我只要打文件名改为[dfd] 和[etgdd].什么批量.谢谢帮帮忙咯.
我是要改文件夹的名字
展开
 我来答
azsxxdcffv
2011-07-15 · 超过54用户采纳过TA的回答
知道小有建树答主
回答量:114
采纳率:0%
帮助的人:105万
展开全部
这个好办,手机码字,先说思路。
把这些文件夹集中到一个文件夹a下,批处理文件置于文件夹a下。
处理步骤:
dir >z.txt
for读出z.txt每一单行,文件夹名赋给%%i,从%%i中一一读出单个字符,遇到[前抛下,[之后的开始叠加,]之后的弃去。得到的字符串赋给aa
rename %%i aa即可
我回去了写一下完整代码,楼主可据此先自己试试。
追问
忘了说了.我是要改文件夹.谢谢
LJ_SunTB
2011-07-15 · TA获得超过1404个赞
知道小有建树答主
回答量:766
采纳率:0%
帮助的人:823万
展开全部
也没说明下要将文件夹名字改成啥样,只好按自已理解的来写代码
将当前文件夹下含有[ ]文件夹名字重新命名为[ ]内数据
asd[dfd]sdff 则改为dfd
wewr[etgdd]fafgsf 则改为etgdd
批处理代码如下:
@echo off
pushd %~dp0

for /f "tokens=*" %%i in ('dir /ad/b *[*]*.') do (
set b=
echo "%%i"|findstr /b "[" >nul&&set b=1
if defined b (for /f "delims=[]" %%a in ("%%i") do ren "%%i" "%%a") else (for /f "tokens=2 delims=[]" %%a in ("%%i") do ren "%%i" "%%a")
)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式