求bat批处理,模糊查找文件夹,并批量改名

要求:
例: 寻找 "新建文件夹" 找到后 可能是 新建文件夹(1)
将他改为 新建文件夹
简单说就是 删除 找到 的文件夹 的 后缀多余文本
需要批量处理, 在批处理里面 预设 固定的 文件夹 名 就可以 循环 去改名

@echo off&setlocal enabledelayedexpansion
for /f "skip=1 tokens=1,2 delims=\" %%a in ('fsutil fsinfo drives^|find /v ""') do (
set aa=%%a
set aa=!aa:~-2!
for /f "tokens=1 " %%i in ('fsutil fsinfo drivetype !aa! ^|find "固定"') do (
for /f "delims=" %%k in ('dir/s /b %%i\*新建文件夹*') do ren %%k 新建文件夹
)
)
)
这个可以把本地硬盘上所有的 前缀+新建文件夹+后缀 都改名为新建文件夹追问

能给一个 设置一个目录,然后只在一个目录下搜索吗?
我不需要全盘搜索
比如
目录=D:\
文件夹名1= 新建文件夹
文件夹名2 = 记事
文件夹名3 = 日记

然后循环找 这三个变量 文件夹名1 文件夹名2 文件夹名3 并改名

追答

@echo off&setlocal enabledelayedexpansion
rem 设定路径
set pa=f:\
rem 设定要查找的文件夹,中间用英文状态的逗号分隔

for /f "tokens=1-3 delims=," %%a in ("新建文件夹,记事,日记") do (
set d1=%%a
set d2=%%b
set d3=%%c
for /f "delims=" %%k in ('dir/s /b %pa%*!d1!*') do ren %%k 新建文件夹
for /f "delims=" %%k in ('dir/s /b %pa%*!d2!*') do ren %%k 记事
for /f "delims=" %%k in ('dir/s /b %pa%*!d3!*') do ren %%k 日记
)

温馨提示:内容为网友见解,仅供参考
无其他回答

求bat批处理,模糊查找文件夹,并批量改名
这个可以把本地硬盘上所有的 前缀+新建文件夹+后缀 都改名为新建文件夹

用BAT批处理脚本批量重命名文件夹名
1. **打开记事本或任何文本编辑器**:首先,你需要打开记事本(Notepad)或你选择的任何文本编辑器来编写BAT脚本。2. **编写BAT脚本**:在记事本中输入以下示例脚本,用于将指定目录下所有文件夹的名称前添加"Prefix_"前缀。请将`C:\\path\\to\\your\\folders`替换为你的目标文件夹路径。```batch ech...

怎么用bat批量重命名文件夹名?
1、右击电脑桌面的空白处,新建一个文本文档。2、新建完成后在空白的文本文档中输入代码@echo offstart cmd%0,输入完成后点击页面上的保存选项将该文件保存。3、将刚刚保存的TXT文件更改为.BAT后缀。4、双击该bat文件即可。

怎么批量修改文件夹的名称?
1、首先打开需要批量更改名称的文件,按键盘Ctrl+A全选所有文件 2、然后按F2键重命名,我们这组照片是命名为动漫,然后确定就全部按照顺序批量命名了。方法二:bat批量处理 批量更改文件夹 1、当前目录新建一个文本文档打开输入以下代码 set a=1 setlocal EnableDelayedExpansion FOR \/f "tokens=*" %%i ...

BAT批处理脚本:怎样批量修改文件名?
那怎样批量修改扩展名呢?实际上只需要一行命令。在视频文件夹内新建一个文本文档,输入:ren *.mkv *.abcd,保存,然后将此文档扩展名.txt改成.bat,双击运行。改回来的话,就是:ren *.abcd *.mkv。于是ren命令的用法就很容易懂了:ren [Drive:][path] filename1 filename2。[Drive:][path...

批处理BAT。修改指定文件夹(带目录)下的文件名称(单一的和批量的)
1. 单一的重命名,代码如下:echo off rename D:\\111\\111.txt 222.txt pause 2. 批量的重命名,请根据你的命名规则使用for循环即可。代码如下:echo off cd \/d D:\\ if exist 111.txt (if not exist D:\\111\\ md 111 copy 111.txt 111\\222.txt del 111.txt rename 111\\333.txt 444....

求bat 批处理 文件夹 批量 重命名
\/f "tokens=*" %%i in ('dir \/ad \/b "%~dp0"^|findstr \/r "\\<[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$"') do (Set fd=%%iIf not "!fd:~0,3!"=="201" (Set fd=201!fd:~3!) Ren "%~dp0%%i" "!fd!")Pause不是8位数字的,不做变化。

怎么用bat文件批量修改文件名称
编辑这个txt文本文件输入以下字符 set a=1000 setlocal EnableDelayedExpansion FOR \/f "tokens=*" %%i IN ('dir \/a:d \/b') DO (set \/A a+=1 ren "%%i" "电影!a!")然后保存 4 保存后更改文件扩展名为bat,有提示选“是”5 双击运行这个bat批处理文件,稍一延迟文件夹就都已全改名啦 ...

求一个能批量识别并修改文件名的bat批处理。
echoofffor\/f"delims="%%ain('dir\/a-d\/b\/s')do(setstr=%%~nasetlocalenabledelayedexpansionset"pre=!str:~0,6!"ren"%%a""!pre!%%~xa"endlocal)用dir\/a-d\/b\/s显示所有子文件夹的文件名不就得了

bat批处理 查找某个文件并修改它的文件名
假设要全盘查找一个文件名为a.exe的程序(注:该文件只有一个),然后把C盘B文件夹(路径为C:\\B)内的几个文件复制到a.exe文件所在目录下的C文件夹内(注:用xcopy命令,因为目录内还有其他文件夹),不知道能不能把a.exe所在目录的路径用SET命令赋给一个变量如%1或%luj%,因为下面的命令内有用到如...

相似回答