Board logo

标题: [文件操作] [已解决]文件名去.reg字符.bat [打印本页]

作者: yyz219    时间: 2022-1-12 21:10     标题: [已解决]文件名去.reg字符.bat

本帖最后由 yyz219 于 2022-1-14 08:12 编辑
  1. 完美解决了:
  2. ::【文件名去.reg字符(运行版本).bat】
  3. ::【去.reg 字符】
  4. @echo off
  5. set str1=.reg
  6. for /f "delims=" %%a in ('dir /s /b ^|sort /+65535') do (
  7. if "%%~nxa" neq "%~nx0" (
  8. set "file=%%a"
  9. set "name=%%~na"
  10. set "extension=%%~xa"
  11. call set "name=%%name:%str1%=%str2%%%"
  12. setlocal enabledelayedexpansion
  13. ren "!file!" "!name!!extension!" 2>nul
  14. endlocal
  15. )
  16. )
  17. exit
  18. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  19. ::【文件名去.reg字符(拖动版本).bat】
  20. ::【去.reg 字符】
  21. @echo off
  22. set filename=%~n1
  23. :trim
  24. if "%filename:~-1%"==" " (
  25. set filename=%filename:~0,-1%
  26. goto trim
  27. )
  28. for %%i in ("%filename%") do ren "%~1" "%%~ni.cmd"
  29. exit
复制代码

作者: Batcher    时间: 2022-1-12 22:02

回复 1# yyz219


    你希望修改成如何运行?
作者: yyz219    时间: 2022-1-12 22:09

回复 2# Batcher

放在文件夹目录下运行,修改这个文件夹里的所有文件名。
作者: yyz219    时间: 2022-1-13 11:16     标题: [已解决]帮我把重命名文件的批处理修改为不要输入

帮我修改批处理,变为不要输入(固定为:.reg  ———reg后面有一个空格)
++++++++++++++++++++++++++++++++++++++++++++
set /p str1= 请输入要替换的文件(文件夹)名字符串(可替换空格):    ————————————变为不要输入(固定为:.reg  ———reg后面有一个空格)

set /p str2= 请输入替换后的文件(文件夹)名字符串(去除则直接回车):    ——————————变为不要按回车键(直接回车)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
需要修改的批处理:
  1. @echo off
  2. set /p str1= 请输入要替换的文件(文件夹)名字符串(可替换空格):
  3. set /p str2= 请输入替换后的文件(文件夹)名字符串(去除则直接回车):
  4. echo.
  5. echo 正在修改文件(夹)名中,请稍候……
  6. for /f "delims=" %%a in ('dir /s /b ^|sort /+65535') do (
  7. if "%%~nxa" neq "%~nx0" (
  8. set "file=%%a"
  9. set "name=%%~na"
  10. set "extension=%%~xa"
  11. call set "name=%%name:%str1%=%str2%%%"
  12. setlocal enabledelayedexpansion
  13. ren "!file!" "!name!!extension!" 2>nul
  14. endlocal
  15. )
  16. )
  17. exit
复制代码

作者: yyz219    时间: 2022-1-13 11:34

完美解决了:

文件名去.reg字符(运行).bat

@echo off
set str1=.reg
for /f "delims=" %%a in ('dir /s /b ^|sort /+65535') do (
if "%%~nxa" neq "%~nx0" (
set "file=%%a"
set "name=%%~na"
set "extension=%%~xa"
call set "name=%%name:%str1%=%str2%%%"
setlocal enabledelayedexpansion
ren "!file!" "!name!!extension!" 2>nul
endlocal
)
)
exit




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2