标题: [文件操作] 【已解决】批处理如何把文件夹名字里的中文字替换掉改成想要的中文字? [打印本页]
作者: shengyisy 时间: 2019-12-6 18:47 标题: 【已解决】批处理如何把文件夹名字里的中文字替换掉改成想要的中文字?
本帖最后由 shengyisy 于 2019-12-7 21:37 编辑
求大神,文件夹名字里有中文字和数字把中文字替换掉改成想要的中文字!例如:产权2809 搞成:权证2809 !!!批量所有文件夹哦,谢谢
作者: luckcsz 时间: 2019-12-7 17:09
回复 1# shengyisy
假如文件夹不多可以用 水淼·文件批量处理器 改
作者: shengyisy 时间: 2019-12-7 20:24
- @echo off & color 3a & setlocal enabledelayedexpansion
-
- title 批量替换文件(文件夹)名
-
- echo 此批处理可批量替换本文件所在文件夹下所有文件(文件夹)名。
-
- echo.
-
- set /p str1= 请输入要替换的文件(文件夹)名字符串(可替换空格):
-
- set /p str2= 请输入替换后的文件(文件夹)名字符串(去除则直接回车):
-
- echo.
-
- echo 正在替换文件名……
-
- for /f "delims=" %%a in ('dir /a-d /s /b') do (
-
- if "%%~nxa" neq "%~nx0" (
-
- set "f=%%~na"
-
- set "f=!f:%str1%=%str2%!"
-
- if not exist "%%~dpa!f!%%~xa" ren "%%a" "!f!%%~xa"
-
- )
-
- )
-
- echo 替换文件名完成
-
- echo.
-
- echo 正在替换文件夹名……
-
- :folder
-
- set n=0
-
- for /f "delims=" %%i in ('dir /ad /s /b ^|find "%str1%"') do (
-
- set t=%%~ni
-
- set t=!t:%str1%=%str2%!
-
- if not exist "%%~dpi!t!" ren "%%i" "!t!" 2>nul
-
- set /a n+=1
-
- )
-
- if "!n!" neq "0" goto folder
-
- echo 替换文件夹名完成
复制代码
作者: ChenCheChe 时间: 2020-1-30 22:14
回复 3# shengyisy
老哥你这个代码能不能把窗口输入原文本和替换文本那个步骤给去掉,直接按照bat代码设置好的文本直接点击一次就替换完成呀???
作者: Batcher 时间: 2020-1-31 11:28
回复 4# ChenCheChe
第9行改成
set str1=产权2809
第11行改成
set str2=权证2809
作者: ChenCheChe 时间: 2020-1-31 20:24
回复 5# Batcher
谢谢,测试成功
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |