Board logo

标题: [已结]如何将文件名中含有空格的替换? [打印本页]

作者: dddyjq1     时间: 2008-12-15 23:44    标题: [已结]如何将文件名中含有空格的替换?
如何将同一目录下所有文件名中含有空格的文件名将空格替换成○这个符号?
比文件夹下有这些文件
驱动器 C 中的卷没有标签。
卷的序列号是 0C5D-07FF

c:\txt 的目录

2008-12-14  23:35               400 Remember You.txt
2008-12-14 23:36 1,024 Remix 2006.txt
2008-12-14 23:36 4,664 Revolver.txt
2008-12-14 23:36 1,062 Robert Bouchet.txt
2008-12-14 23:35 2,124 RonaldPleaseHelp!!!.txt
2008-12-14 23:36 1,224 ronnie james dio.txt
2008-12-14 23:36 4,442 RRC.txt
2008-12-14 23:36 3,441 Rubber Soul.txt
2008-12-14 23:35 7,506 RAC.txt
2008-12-14 23:35 3,455 raid0.txt
2008-12-14 23:35 1,239 Rain’sWorld.txt
2008-12-14 23:35 554 中导条约.txt
2008-12-14 23:36 957 中垌镇.txt
2008-12-14 23:35 6,947 中国76式水陆坦克抢救牵引车.txt
2008-12-14 23:36 1,628 中国成语故事精编.txt
2008-12-14 23:36 1,899 中国当代文学作品选评.txt
2008-12-14 23:36 479 中国侗文化城.txt
2008-12-14 23:35 2,836 中国福利会 少年宫.txt
2008-12-14 23:35 16,471 中国古代十大酒局目录.txt
2008-12-14 23:35 2,688 中国海洋大学附属中学.txt
2008-12-14 23:35 3,938 中国科学院西双版纳热带植物园.txt
2008-12-14 23:36 708 中国气象局 乌鲁木齐沙漠气象研究所.txt
2008-12-14 23:35 2,980 中国人民解放军第二炮兵指挥学院.txt
2008-12-14 23:36 571 中国人民解放军海军诞生地纪念馆.txt
2008-12-14 23:35 1,565 中国人民解放军空军歼-10战机.txt
2008-12-14 23:35 6,610 中国少数民族传统体育.txt
2008-12-14 23:35 5,682 中国蔬菜 栽培史.txt
2008-12-14 23:36 1,905 中国现代文学作品选评.txt
2008-12-14 23:35 4,546 中国现代学术经典:鲁迅、吴宓、吴梅、陈师曾卷.txt
2008-12-14 23:35 4,680 中国行政区划.txt
2008-12-14 23:36 989 中国珠海电影节.txt
2008-12-14 23:35 1,548 中国诸葛弩.txt
2008-12-14 23:35 497 中华鳖精.txt
2008-12-14 23:35 766 中华多宝口服液.txt
2008-12-14 23:36 917 中华光萼苔.txt
2008-12-14 23:36 896 中华光萼苔原变型.txt
2008-12-14 23:36 898 中华葫芦藓.txt
2008-12-14 23:35 944 中华梦石城.txt
2008-12-14 23:36 451 中华民族.txt
2008-12-14 23:35 7,504 中华骈文运动.txt
2008-12-14 23:36 674 中华墙藓.txt
2008-12-14 23:36 1,352 中华青牛胆.txt
2008-12-14 23:36 15,603 中华人民共和国律师法目录.txt
2008-12-14 23:35 1,885 中华三祖堂.txt
2008-12-14 23:36 794 中华英雄电影原声带.txt
2008-12-14 23:36 425 中间片.txt
2008-12-14 23:35 352 中入调.txt
2008-12-14 23:35 565 中山汉墓.txt
2008-12-14 23:36 486 中山陵陵门.txt
2008-12-14 23:36 347 中山陵议政亭.txt
2008-12-14 23:36 308 中山陵永丰社.txt
2008-12-14 23:36 356 中山陵永慕庐.txt
2008-12-14 23:35 2,738 中卫高庙.txt
2008-12-14 23:35 3,356 中文大藏经.txt
2008-12-14 23:35 1,423 中心静脉压测定.txt
2008-12-14 23:35 549 中心镇公堂.txt
2008-12-14 23:36 312 中信酒店.txt
2008-12-14 23:35 811 中型白蚁伞.txt
58 个文件 145,971 字节
0 个目录 9,494,528 可用字节


Last edited by HAT on 2008-12-16 at 19:33 ]

作者: 15935643331     时间: 2008-12-16 04:11
我也想知道 弄了一会没弄出来
for /f "tokens=*" %%a in ('dir /b c:\txt^|findstr /e /c:" "') do (
echo.%%a: =○%%
ren %%a ???????????????
)

Last edited by 15935643331 on 2008-12-16 at 04:41 ]

作者: 15935643331     时间: 2008-12-16 05:37
@echo on&setlocal enabledelayedexpansion
for /f "tokens=*" %%a in ('dir /b c:\txt') do set on=%%a&echo.%%a >>list.txt
for /f "tokens=1,* delims= " %%i in (list.txt) do (
set nn=%%i○%%j
ren c:\txt\%on% %%i○%%j
)
pause

不行啊,搞了一晚上,晕

Last edited by 15935643331 on 2008-12-16 at 06:56 ]

作者: pooronce     时间: 2008-12-16 10:41
set "name=%%a"
这样括住就能将空格传递到变量了
然后再替换就不难了

btw: 不用到list的,直接一个循环加变量延迟就行了,多了io操作浪费时间

作者: moniuming     时间: 2008-12-16 11:52
@echo off
for /r c:\txt %%a in ("*.txt") do (
set "str=%%~na"
setlocal enabledelayedexpansion
set "str=!str: =○!"
echo !str!%%~xa
endlocal
)
echo.&pause

如果显示符合要求就可以进行重命名操作了.

作者: linge     时间: 2008-12-16 15:51
@echo off & setlocal EnableDelayedExpansion
cd c:\txt 的目录
for %%I in (*.txt) do (
set aa=%%I
set aa=!aa: =O!
ren "%%I" !aa!
)
pause

Last edited by linge on 2008-12-16 at 15:58 ]

作者: dddyjq1     时间: 2008-12-16 19:11
谢谢各位

作者: 15935643331     时间: 2008-12-17 01:55
@echo off
for /r c:\txt %%a in ("*.txt") do (
set "str=%%~na"
setlocal enabledelayedexpansion
set "str=!str: =○!"
echo.!str!%%~xa
ren "%%a" !str!%%~xa
endlocal
)
echo.&pause