Board logo

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

作者: dddyjq1     时间: 2008-12-15 23:44    标题: [已结]如何将文件名中含有空格的替换?

如何将同一目录下所有文件名中含有空格的文件名将空格替换成○这个符号?
比文件夹下有这些文件
驱动器 C 中的卷没有标签。
卷的序列号是 0C5D-07FF

c:\txt 的目录
CODE:  [Copy to clipboard]
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
CODE:  [Copy to clipboard]
@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




欢迎光临 中国DOS联盟论坛 (http://cndos.fam.cx/forum/) Powered by Discuz! 2.5