找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 27966|回复: 8

[文本处理] 请教批处理如何把文件名中的空格替换成_

[复制链接]
发表于 2020-7-18 00:31:04 | 显示全部楼层 |阅读模式
请教如何把文件名中的空格替换成_
文件太多了,一个一个修改太费时,有木有大神帮忙写一个bat文件
发表于 2020-7-18 02:13:59 | 显示全部楼层
sed 命令
sed -r -e "s/ /_/g" -i file.txt
sed 在windows下,要安装 msys2 或者 git 之类的。

用for循环处理
 楼主| 发表于 2020-7-18 13:25:30 | 显示全部楼层
回复 2# newswan


    看不懂
发表于 2020-7-18 14:23:04 | 显示全部楼层
也处理子文件夹
  1. @echo off
  2. set "key1= "
  3. set "key2=_"
  4. for /r %%i in ("* *") do (
  5.         if not "%%~i"=="%~0" (
  6.                 echo %%i
  7.                 set "fileName=%%~ni"
  8.                 call set "fileName=%%fileName:%key1%=%key2%%%"
  9.                 call echo %%fileName%%%%~xi
  10.                 call rename "%%i" "%%fileName%%%%~xi" && echo success! || echo failed!
  11.                 echo ------------------------------------------
  12.         )
  13. )
  14. pause&exit
复制代码
发表于 2020-7-18 14:27:29 | 显示全部楼层
回复 2# newswan


有单文件版的 sed 不需要安装其他东西
http://bcn.bathome.net/s/tool/index.html?key=sed
 楼主| 发表于 2020-7-18 22:34:40 | 显示全部楼层
回复 4# went


    你这个不行,我有了

@echo off&cd/d "%~dp0"
for %%i in ("* *")do if not "%%i"=="%~nx0" (
  set "q=%%i"
  call echo %%i  ==^> %%q: =_%%
  call ren "%%i" "%%q: =_%%")
pause
发表于 2020-7-19 01:27:00 | 显示全部楼层
下载 3 楼 的sed,放到 C:\windows\
  1. @echo off
  2. setlocal EnableDelayedExpansion

  3. for /r d:\path %%i in (*.txt) do (
  4.         sed -r -e "s/ /_/g" %%i
  5. )
复制代码
放在 d:\path 里的 文本文件 会被处理
检查一下,如果输出正确,把 sed 这行语句改成下面的。
sed -r -e "s/ /_/g" -i %%i
发表于 2020-7-19 19:40:09 | 显示全部楼层
  1. @Echo off&SetLocal EnableDelayedExpansion
  2. set /p x=要替换的文件名字符串(可替换空格):
  3. set /p y=替换后的文件名字符串(删除则回车):
  4. for /f "delims=" %%i in ('dir /s /b') do (set "f=%%~nxi"&set "f1=!f:%x%=%y%!"
  5. if not "%%i"==%0 if not "!f!"=="!f1!" if exist "!f1!" (echo 由于!f1!存在同名,!f! 文件名未改 )else ren "!f!" "!f1!"&echo "!f!"改名为"!f1!")
  6. pause
复制代码
发表于 2020-7-20 21:56:25 | 显示全部楼层
读错需求了,是改文件名,不是改文件,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 03:12 , Processed in 0.019873 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表