Board logo

标题: [文件操作] (已解决)求大佬帮忙批处理实现文件名替换 [打印本页]

作者: 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
本人已有代码
  1. for %%i in (*.mkv)  do ren "%%i" OK"%%i"
复制代码
这个是在当前文件夹所有文件名前加上OK两个字,求大佬修改为当前目录下所有文件夹及子文件夹


本人目前已有代码
  1. @echo off
  2. Setlocal Enabledelayedexpansion
  3. set "str=ok"
  4. for /f "delims=" %%i in ('dir /b *.*') do (
  5. set "var=%%i" & ren "%%i" "!var:%str%=!")
  6. pause
复制代码
这个代码是删除当前文件夹指定字符的。求大佬给这种类型的bat。点击一下就可以自动操作的。。万分感谢



另外,大佬最好顺便附带支付宝图片。实测成功后。小小感谢。
作者: Batcher    时间: 2020-3-9 10:32

回复 1# 8532200


问题2-1.bat
  1. @echo off
  2. for /f "delims=" %%i in ('dir /b /s /a-d *.mkv') do (
  3.     ren "%%i" "OK%%~nxi"
  4. )
复制代码
问题2-2.bat
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "str=ok"
  4. for /f "delims=" %%i in ('dir /b /s /a-d') do (
  5.     if "%%i" neq "%~f0" (
  6.         set "var=%%~nxi"
  7.         ren "%%i" "!var:%str%=!"
  8.     )
  9. )
复制代码

作者: Batcher    时间: 2020-3-9 10:39

回复 1# 8532200


问题1.bat
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "str1=ok"
  4. set "str2=CK"
  5. for /f "delims=" %%i in ('dir /b /s /a-d *.txt') do (
  6.     set "var=%%~nxi"
  7.     ren "%%i" "!var:%str1%=%str2%!"
  8. )
复制代码

作者: 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