标题: [文件操作] (已解决)求大佬帮忙批处理实现文件名替换 [打印本页]
作者: 8532200 时间: 2020-3-9 10:19 标题: (已解决)求大佬帮忙批处理实现文件名替换
本帖最后由 8532200 于 2020-3-9 12:20 编辑
首先本人完全不懂bat。。。都是靠各位大佬免费分享的BAT来用
问题1 替换文件名
文件名例子
okok1.txt
okok2.txt
okok3.txt
需要替换后
CKCK1.txt
CKCK2.txt
CKCK3.txt
求把当前目录下的的所有文件夹及子文件夹的文件名的OK替换成CK
问题2
本人已有代码- for %%i in (*.mkv) do ren "%%i" OK"%%i"
复制代码
这个是在当前文件夹所有文件名前加上OK两个字,求大佬修改为当前目录下所有文件夹及子文件夹
本人目前已有代码- @echo off
- Setlocal Enabledelayedexpansion
- set "str=ok"
- for /f "delims=" %%i in ('dir /b *.*') do (
- set "var=%%i" & ren "%%i" "!var:%str%=!")
- pause
复制代码
这个代码是删除当前文件夹指定字符的。求大佬给这种类型的bat。点击一下就可以自动操作的。。万分感谢
另外,大佬最好顺便附带支付宝图片。实测成功后。小小感谢。
作者: Batcher 时间: 2020-3-9 10:32
回复 1# 8532200
问题2-1.bat- @echo off
- for /f "delims=" %%i in ('dir /b /s /a-d *.mkv') do (
- ren "%%i" "OK%%~nxi"
- )
复制代码
问题2-2.bat- @echo off
- setlocal enabledelayedexpansion
- set "str=ok"
- for /f "delims=" %%i in ('dir /b /s /a-d') do (
- if "%%i" neq "%~f0" (
- set "var=%%~nxi"
- ren "%%i" "!var:%str%=!"
- )
- )
复制代码
作者: Batcher 时间: 2020-3-9 10:39
回复 1# 8532200
问题1.bat- @echo off
- setlocal enabledelayedexpansion
- set "str1=ok"
- set "str2=CK"
- for /f "delims=" %%i in ('dir /b /s /a-d *.txt') do (
- set "var=%%~nxi"
- ren "%%i" "!var:%str1%=%str2%!"
- )
复制代码
作者: 8532200 时间: 2020-3-9 10:40
本帖最后由 8532200 于 2020-3-9 11:12 编辑
回复 2# Batcher
问题2实测没办法运行
作者: 8532200 时间: 2020-3-9 10:44
回复 3# Batcher
这个貌似有用。。我再试试。。感谢
作者: 8532200 时间: 2020-3-9 10:54
回复 3# Batcher
已捐助,小小感谢。求大佬优化问题2.问题2实测不成功
作者: Batcher 时间: 2020-3-9 11:05
回复 4# 8532200
请说下问题2是想实现什么功能。2楼两个代码执行之后有什么报错信息,或者执行结果跟你的期望有哪些差异?
作者: 8532200 时间: 2020-3-9 11:29
回复 7# Batcher
问题1已解决。问题2无法运行。我原来的代码是当前目录所有文件名前加上OK。
你给的问题2的代码无法让当前目录及子目录所有文件名加上OK两个字,点击后无反应。
作者: Batcher 时间: 2020-3-9 11:55
回复 8# 8532200
参考Q-01的方法执行:问题2-1.bat
https://mp.weixin.qq.com/s/6lbb97qUOs1sTyKJfN0ZEQ
看看执行过程或者报错信息
作者: 8532200 时间: 2020-3-9 12:15
回复 9# Batcher
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>setlocal enabledelayedexpansion
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>set "str=ok"
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>for /F "delims=" %i in ('dir /b /s /a-d') do (if "%i" NEQ "C:\228\weixiazai\ 新建文件夹 (3)\新建文件夹\test.bat" (
set "var=ok%~nxi"
ren "%i" "!vark=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>(if "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" NEQ "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" (
set "var=oktest.bat"
ren "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" "!var:ok=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>(if "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文本文档 - 副本 (10).txt" NEQ "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" (
set "var=ok新建文本文档 - 副本 (10).txt"
ren "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文本文档 - 副本 (10).txt" "!var:ok=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>(if "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文本文档 - 副本 (11).txt" NEQ "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" (
set "var=ok新建文本文档 - 副本 (11).txt"
ren "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文本文档 - 副本 (11).txt" "!var:ok=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>(if "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文本文档 - 副本 (12).txt" NEQ "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" (
set "var=ok新建文本文档 - 副本 (12).txt"
ren "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文本文档 - 副本 (12).txt" "!var:ok=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>(if "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文本文档 - 副本 (13).txt" NEQ "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" (
set "var=ok新建文本文档 - 副本 (13).txt"
ren "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文本文档 - 副本 (13).txt" "!var:ok=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>(if "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文本文档 - 副本 (14).txt" NEQ "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" (
set "var=ok新建文本文档 - 副本 (14).txt"
ren "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文本文档 - 副本 (14).txt" "!var:ok=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>(if "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文本文档 - 副本 (15).txt" NEQ "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" (
set "var=ok新建文本文档 - 副本 (15).txt"
ren "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文本文档 - 副本 (15).txt" "!var:ok=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>(if "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文本文档 - 副本 (16).txt" NEQ "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" (
set "var=ok新建文本文档 - 副本 (16).txt"
ren "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文本文档 - 副本 (16).txt" "!var:ok=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>(if "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文本文档 - 副本 (17).txt" NEQ "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" (
set "var=ok新建文本文档 - 副本 (17).txt"
ren "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文本文档 - 副本 (17).txt" "!var:ok=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>(if "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文本文档 - 副本 (2).txt" NEQ "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" (
set "var=ok新建文本文档 - 副本 (2).txt"
ren "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文本文档 - 副本 (2).txt" "!var:ok=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>(if "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文本文档 - 副本 (3).txt" NEQ "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" (
set "var=ok新建文本文档 - 副本 (3).txt"
ren "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文本文档 - 副本 (3).txt" "!var:ok=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>(if "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文本文档 - 副本 (4).txt" NEQ "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" (
set "var=ok新建文本文档 - 副本 (4).txt"
ren "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文本文档 - 副本 (4).txt" "!var:ok=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>(if "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文本文档 - 副本 (5).txt" NEQ "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" (
set "var=ok新建文本文档 - 副本 (5).txt"
ren "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文本文档 - 副本 (5).txt" "!var:ok=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>(if "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文本文档 - 副本 (6).txt" NEQ "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" (
set "var=ok新建文本文档 - 副本 (6).txt"
ren "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文本文档 - 副本 (6).txt" "!var:ok=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>(if "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文本文档 - 副本 (7).txt" NEQ "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" (
set "var=ok新建文本文档 - 副本 (7).txt"
ren "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文本文档 - 副本 (7).txt" "!var:ok=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>(if "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文本文档 - 副本 (8).txt" NEQ "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" (
set "var=ok新建文本文档 - 副本 (8).txt"
ren "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文本文档 - 副本 (8).txt" "!var:ok=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>(if "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文本文档 - 副本 (9).txt" NEQ "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" (
set "var=ok新建文本文档 - 副本 (9).txt"
ren "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文本文档 - 副本 (9).txt" "!var:ok=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>(if "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文本文档 - 副本.txt" NEQ "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" (
set "var=ok新建文本文档 - 副本.txt"
ren "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文本文档 - 副本.txt" "!var:ok=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>(if "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文本文档.txt" NEQ "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" (
set "var=ok新建文本文档.txt"
ren "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文本文档.txt" "!var:ok=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>(if "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文件夹\新建文本文档 - 副 本 (10).txt" NEQ "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" (
set "var=ok新建文本文档 - 副本 (10).txt"
ren "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文件夹\新建文本文档 - 副本 (10).txt" "!var:ok=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>(if "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文件夹\新建文本文档 - 副 本 (11).txt" NEQ "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" (
set "var=ok新建文本文档 - 副本 (11).txt"
ren "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文件夹\新建文本文档 - 副本 (11).txt" "!var:ok=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>(if "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文件夹\新建文本文档 - 副 本 (12).txt" NEQ "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" (
set "var=ok新建文本文档 - 副本 (12).txt"
ren "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文件夹\新建文本文档 - 副本 (12).txt" "!var:ok=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>(if "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文件夹\新建文本文档 - 副 本 (13).txt" NEQ "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" (
set "var=ok新建文本文档 - 副本 (13).txt"
ren "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文件夹\新建文本文档 - 副本 (13).txt" "!var:ok=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>(if "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文件夹\新建文本文档 - 副 本 (14).txt" NEQ "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" (
set "var=ok新建文本文档 - 副本 (14).txt"
ren "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文件夹\新建文本文档 - 副本 (14).txt" "!var:ok=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>(if "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文件夹\新建文本文档 - 副 本 (15).txt" NEQ "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" (
set "var=ok新建文本文档 - 副本 (15).txt"
ren "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文件夹\新建文本文档 - 副本 (15).txt" "!var:ok=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>(if "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文件夹\新建文本文档 - 副 本 (16).txt" NEQ "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" (
set "var=ok新建文本文档 - 副本 (16).txt"
ren "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文件夹\新建文本文档 - 副本 (16).txt" "!var:ok=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>(if "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文件夹\新建文本文档 - 副 本 (17).txt" NEQ "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" (
set "var=ok新建文本文档 - 副本 (17).txt"
ren "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文件夹\新建文本文档 - 副本 (17).txt" "!var:ok=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>(if "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文件夹\新建文本文档 - 副 本 (2).txt" NEQ "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" (
set "var=ok新建文本文档 - 副本 (2).txt"
ren "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文件夹\新建文本文档 - 副本 (2).txt" "!var:ok=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>(if "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文件夹\新建文本文档 - 副 本 (3).txt" NEQ "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" (
set "var=ok新建文本文档 - 副本 (3).txt"
ren "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文件夹\新建文本文档 - 副本 (3).txt" "!var:ok=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>(if "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文件夹\新建文本文档 - 副 本 (4).txt" NEQ "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" (
set "var=ok新建文本文档 - 副本 (4).txt"
ren "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文件夹\新建文本文档 - 副本 (4).txt" "!var:ok=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>(if "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文件夹\新建文本文档 - 副 本 (5).txt" NEQ "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" (
set "var=ok新建文本文档 - 副本 (5).txt"
ren "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文件夹\新建文本文档 - 副本 (5).txt" "!var:ok=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>(if "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文件夹\新建文本文档 - 副 本 (6).txt" NEQ "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" (
set "var=ok新建文本文档 - 副本 (6).txt"
ren "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文件夹\新建文本文档 - 副本 (6).txt" "!var:ok=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>(if "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文件夹\新建文本文档 - 副 本 (7).txt" NEQ "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" (
set "var=ok新建文本文档 - 副本 (7).txt"
ren "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文件夹\新建文本文档 - 副本 (7).txt" "!var:ok=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>(if "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文件夹\新建文本文档 - 副 本 (8).txt" NEQ "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" (
set "var=ok新建文本文档 - 副本 (8).txt"
ren "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文件夹\新建文本文档 - 副本 (8).txt" "!var:ok=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>(if "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文件夹\新建文本文档 - 副 本 (9).txt" NEQ "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" (
set "var=ok新建文本文档 - 副本 (9).txt"
ren "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文件夹\新建文本文档 - 副本 (9).txt" "!var:ok=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>(if "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文件夹\新建文本文档 - 副 本.txt" NEQ "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" (
set "var=ok新建文本文档 - 副本.txt"
ren "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文件夹\新建文本文档 - 副本.txt" "!var:ok=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>(if "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文件夹\新建文本文档.txt" NEQ "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\test.bat" (
set "var=ok新建文本文档.txt"
ren "C:\228\weixiazai\新建文件夹 (3)\新建文件夹\新建文件夹\新建文本文档.txt" "!var:ok=!"
) )
C:\228\weixiazai\新建文件夹 (3)\新建文件夹>pause
请按任意键继续. . .
作者: Batcher 时间: 2020-3-9 12:18
回复 10# 8532200
执行:问题2-1.bat
不要执行:问题2-2.bat
作者: 8532200 时间: 2020-3-9 12:20
回复 9# Batcher
感谢大大。。我已经知道问题出在哪里了
问题2已经测试成功
setlocal enabledelayedexpansion
set "str=ok"
for /f "delims=" %%i in ('dir /b /s /a-d') do (
if "%%i" neq "%~f0" (
set "var=tttt%%~nxi"
ren "%%i" "!var:%str%=!"
)
)
pause
我一直都是修改这里
set "str=ok"
刚才反复测试才知道是修改这里
set "var=okokokok
感谢大大的帮助
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |