最好用bat批处理为文件名前加上文件夹名的前缀!

如下图所示:即变更为“以所在文件夹名为前缀”的新文件名。最好写批处理,即处理目标为A文件夹。先给100,完美实现后在追加100,共200.date521可是可以,但如果还... 如下图所示:
即变更为 “以所在文件夹名为前缀”的新文件名。
最好写批处理,即处理目标为 A 文件夹。

先给100,完美实现后在追加100,共200.
date521 可是可以,但如果还有3级目录,就不行了啊。千羽之城 不行啊。 忆林子 是固定读取D盘吗,能否自动获取bat所在文件路径啊。
展开
 我来答
忆林子
2009-11-28 · TA获得超过2034个赞
知道大有可为答主
回答量:4079
采纳率:0%
帮助的人:2724万
展开全部
以下这个批处理就可以解决你的问题。
注意,这是我2008年写的批处理,如果你要用的话,你要先看懂我的代码。
几乎都有注释了,应该难度不大。你只需要修改一下
开头的那行
dir d:\*.txt /s /a-d /b>>tmp.txt
跟后面的
echo ren "%%a" "!new_name!"
就好了
关于这个问题的解决思路,你可以参考一下我百度空间里的这篇文章。
http://hi.baidu.com/%D2%E4%C1%D6%D7%D3/blog/item/40752995f58fc80e7af4800b.html

@echo off
rem 生成临时列表文件
dir d:\*.txt /s /a-d /b>>tmp.txt

rem 用for命令来读取那个由dir命令生成的列表文件
FOR /F "tokens=*" %%a IN (
'more tmp.txt'
) DO (
rem 用Setlocal来启用环境变量延迟功能
Setlocal EnableDelayedExpansion

rem 取得路径包括了最后一个斜线\
set tempPath=%%~dpa

rem 把路径中的最后一个斜线去掉
set tempPath=!tempPath:~,-1!

rem 在for命令中来扩展取得路径名
FOR %%A IN (
"!tempPath!"
) DO (
rem 扩展取得上级目录名
set filePath=%%~nA

rem 新的文件名为: 上级目录名文件名
set new_name=!filePath!-%%~nxa

rem 重命名文件名(为了安全,这里只是用echo把命名的
rem 语句显示出来)
rem 如果要进行重命名的话,把echo 去掉就可以了
echo ren "%%a" "!new_name!"
)
ENDLOCAL
)
rem 删除临时文件
del tmp.txt /q 1>nul 2>nul
pause
星从州Q
2017-07-25 · TA获得超过174个赞
知道答主
回答量:50
采纳率:100%
帮助的人:47.4万
展开全部
@echo off
for /f "delims=" %%c in ('dir /b /ad /s') do (
for /f "delims=" %%d in ('dir /b /a-d "%%c" 2^>nul') do ren "%%c\%%d" "%%~nxc-%%d"
)
setlocal enabledelayedexpansion
for /f "delims=" %%c in ('dir /b /a-d') do (
set fName=%%~dpc
for /f "delims=" %%d in ("!fName:~0,-1!") do if not "%%~fc"==%0 ren "%%c" "%%~nxd-%%c"
)
echo 收工!
pause>nul


------The end

-------批处理..放到跟A文件夹同级使用

不知这样算不算是完美实现?

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
千羽之城
2009-11-29 · TA获得超过4510个赞
知道大有可为答主
回答量:2132
采纳率:0%
帮助的人:1408万
展开全部
@echo off
for /f "delims=" %%i in ('dir /s/b/ad') do (
cd /d "%%i\"
for /f "delims=" %%k in ('dir /b *.txt') do (
ren "%%~fk" "%%~ni-%%~nxk"
)
)
exit
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式