批处理如何在某文件夹下将其子文件夹里的所有文件名转换成子文件夹名(注:子文件夹不止一个)

(注:子文件夹不止一个并且不存在孙文件夹以及子文件夹下的文件类型没有重复)万谢

请在图书目录下运行以下代码
for /d %%i in (*) do (
cd %%i
for /f "tokens=*" %%f in ('dir /b /a-d') do ren "%%f" "%%i%%~xf"
cd ..
)
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-11-04
没明白,举例说说清楚。追问

AAA(某文件夹)---ABC(子文件夹)---32.JPG(子文件夹下的文件) 78.DOC(子文件夹下的文件)
|--WZA(子文件夹)---照片.JPG(子文件夹下的文件) 工程.DOC(子文件夹下的文件)
要变成如下
AAA(某文件夹)---ABC(子文件夹)---ABC.JPG(子文件夹下的文件) ABC.DOC(子文件夹下的文件)
  |--WZA(子文件夹)---WZA.JPG(子文件夹下的文件) WZA.DOC(子文件夹下的文件)

第2个回答  2012-11-04
假如这个子文件夹里有多个同类型文件呢?追问

前提肯定是不存在同类型文件

追答

你的规则和限制条件算是明朗了,但不知批处理的有限命令是否能完成所有子文件夹及其下的所有文件和孙文件夹的递归查找和子文件夹的名称获取?

追问

不存在孙文件夹 而且子文件夹下的文件不会超过5个 子文件夹数量也不会超过50个

追答

你这个要求编程处理没问题,但批处理不知能否实现。

...要求在某文件夹下将其子文件夹里的所有文件名分别转换成子文件夹...
::批处理放到 图书目录 文件夹里运行。for \/d %%i in (*) do (cd %%i for \/f "tokens=*" %%f in ('dir \/b \/a-d') do ren "%%f" "%%i%%~xf"cd ..)

...文件夹下的文件复制到文件夹A下的同名子文件夹内?
echo offset @=Q&set\/an=0x53b7e0b4title +%@%%@% %n%set "文件夹1=D:\\test\\B"set "文件夹2=D:\\test\\A"for \/f "delims=" %%a in ('dir \/ad \/b "%文件夹1%"') do ( for \/f "delims=" %%b in ('dir \/ad \/b "%文件夹2%\\*%%a"') do ( copy "%文件夹1%\\...

批处理 将文件夹内所有的文件名 生成文件夹名
echo off &setlocal enableDelayedExpansionrem 设置源目录set "ScDir=D:\\test" cd \/d "%ScDir%"for \/f "delims=" %%a in ('dir \/a-d \/s \/b') do ( set "DirName=%%~dpa" set "DirName=!DirName:~0,-1!" if not defined $!DirName! ( set "$!DirName!=!DirName!...

...可以将某一文件夹及其子文件夹下的所有文件的名字和详细路径输出成一...
比如你的文件夹是 d:\\aa 输出到e:\\bb\\list.txt 只要一句命令就行,(命令行或批处理都行)dir\/b\/s\/a-d "d:\\aa\\*.*">"e:\\bb\\list.txt"补充: 那这种应该比较方便 echo off&set fn=list.txt rem 把那文件夹拖到批处理文件的图标上即可 if "%~1"=="" exit cd\/d "%~1"dir\/b\/s...

如何用bat 修改文件夹下多个子文件夹内的文件文件名与相应子文件夹名称...
echo offpushd c:\\users\\desktop\\folder1for \/f "tokens=*" %%i in ('dir\/b\/ad folder*') do (move %%i\\1(1).tif %%i\\%%i.tifcopy %%i\\%%i.tif .)

使用批处理,将文件夹中多个文件的名称变为文件夹名称
复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件夹放一起运行 <# :cls&echo off&mode con lines=5000rem 将当前目录里的多个子文件夹里的文件以其所在的子文件夹名称重命名set #=Any question&set @=WX&set $=Q&set\/az=0x53b7e0b4title %#% +%$%%$%\/%@% %z%cd \/d ...

如何把一个文件夹下的所有子文件夹重命名
步骤1、新建一个文本文档(txt格式)步骤2、打开输入以下内容 “dir\/b>1111.xls”注意不要引号,然后点选另存为,“文件名”栏改为“提取文件名.bat”注意要去掉txt后缀,文件类型改为所有,即可。步骤3、复制到任何需要生成目录的文件夹 步骤4、双击运行 注意:喜欢生成文本文件的用“.txt”。笔者...

如何用批处理遍历一个文件夹下所有子目录和子目录下的文件
以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI echo off rem 获取指定目录下的所有文件路径并进行截取 set #=Any question&set $=Q&set\/az=0x53b7e0b4 title %#% +%$%%$% %z cd \/d "%~dp0"set "folder=D:\\xxx\\A"set "outfile=xxx.txt"type nul>"%outfile%"if not exist...

如何用CMD批处理提取所有子文件夹内容按文件夹名称命名并提取到一个...
*"') do (Ren "%%j" "%%~nxi%%~xj"Move "%%i\\%%~nxi%%~xj" "D:\\文件提取到此文件夹\\"Rd \/q "%%i"))Pause以上内容保存为批处理文件(xx.bat),和要提取文件的子文件夹放在一起即可,例如 和 文件夹1、文件夹2 放在一起.默认保留文件后缀名,如果不保留文件后缀名请删除 "%%~xj"

...可以将某一文件夹及其子文件夹下的所有文件的名字和详细路径输出成一...
echo off set "file=C:\\Users\\lytz\\Desktop\\C常用\\bat"if exist list.txt ( del list.txt ) for %%a in (%file%) do for \/f "delims=" %%b in ('dir \/a-d\/b\/s %%a') do ( echo %%b >>list.txt ) pause第二行设置目录路径,自行设置 ...

相似回答