中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何去掉文件名的前后面空格?
作者:
标题: 如何去掉文件名的前后面空格? 上一主题 | 下一主题
dddyjq1
初级用户





积分 175
发帖 108
注册 2008-5-19
状态 离线
『楼 主』:  如何去掉文件名的前后面空格?

请问如何批量去掉文件名的前后空格,中间的空格不变,后缀名不变,
比如 “爱丽丝 .txt”改为“爱丽丝.txt”
      “  MPI .txt”改为“MPI.txt”
      “mp3 同步歌词 .txt“就不变

先谢了!

2008-8-9 22:48
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
moniuming
银牌会员

永远的菜鸟



积分 1335
发帖 574
注册 2007-11-27
来自 广西
状态 离线
『第 2 楼』:  

不知道是不是这个意思?
@echo off
for %%i in (*.txt) do call :ren_ "%%i" "%%~ni"
pause&goto :eof
:ren_
set "str=%~2"
set "var=%str:~0,1%"
if "%var%"==" " (set "str=%str:~1%"&goto :ren_)
:again
set "var=%str:~-1%"
if "%var%"==" " (set "str=%str:~0,-1%"&goto :again)
echo ren %1 "%str%.txt"
goto :eof


2008-8-10 01:40
查看资料  发短消息 网志   编辑帖子  回复  引用回复
pusofalse
银牌会员




积分 1604
发帖 646
注册 2008-4-13
状态 离线
『第 3 楼』:  

tokens=*和delims=的区别可以解决你的问题。
@echo off
for %%a in (*.txt) do for /f "tokens=*" %%i in ("%%~nxa") do ren "%%a" "%%i"
pause


   此帖被 +8 点积分        点击查看详情   
评分人:【 moniuming 分数: +8  时间:2008-8-11 14:36




心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
2008-8-10 19:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
kidzgy
中级用户





积分 262
发帖 129
注册 2007-7-11
状态 离线
『第 4 楼』:  

我觉得奇怪,“  MPI .txt”这样的文件名一般是不会存在的,在你确实修改之后,是自动会去掉前头的空格的~

2楼能行,要将echo 去掉, 才有效果,要不就是展示了。

3楼不能。

完毕!

2008-8-10 20:28
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 5 楼』:  

如前后都只有一个空格:
@echo off
for /f "delims=" %%i in ('dir /s /a-d /b *.*') do (
     set "str=%%~ni"
     call,set "str=%%str:~1,-1%%"
     call,ren "%%i" %%str%%%%~xi
)




批处理之家新域名:www.bathome.net
2008-8-10 22:05
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
terse
银牌会员





积分 2404
发帖 946
注册 2005-9-8
状态 离线
『第 6 楼』:  

3楼其实是可以做到的  可以去前后空格  当然文件名的前空格可以忽略
@echo off
for %%a in (*.txt) do for /f "tokens=*" %%i in ("%%~na") do ren "%%a" "%%~ni%%~xa"
pause


   此帖被 +8 点积分        点击查看详情   
评分人:【 moniuming 分数: +8  时间:2008-8-11 14:36




简单!简单!再简单!
2008-8-11 00:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
moniuming
银牌会员

永远的菜鸟



积分 1335
发帖 574
注册 2007-11-27
来自 广西
状态 离线
『第 7 楼』:  

向3楼和6楼学习了!!!

2008-8-11 14:37
查看资料  发短消息 网志   编辑帖子  回复  引用回复
dddyjq1
初级用户





积分 175
发帖 108
注册 2008-5-19
状态 离线
『第 8 楼』:  

谢谢各位,

2008-8-14 22:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: