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

来源:百度知道 编辑:UC知道 时间:2024/06/30 03:14:43
如下图所示:
即变更为 “以所在文件夹名为前缀”的新文件名。
最好写批处理,即处理目标为 A 文件夹。

先给100,完美实现后在追加100,共200.
date521 可是可以,但如果还有3级目录,就不行了啊。千羽之城 不行啊。 忆林子 是固定读取D盘吗,能否自动获取bat所在文件路径啊。

以下这个批处理就可以解决你的问题。
注意,这是我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