[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
当然出错,你的文件名中有叹号,预处理时丢掉了。。
  1. @echo Off
  2. For /f "delims=" %%a in ('dir/b E:\临时文件夹\2\*.txt') do (
  3.         set "fileName=%%a"
  4.         setlocal EnableDelayedExpansion
  5.         set "newFile=!fileName:批处理之家 批处理,bat,dos教程,论坛,代码 - Powered by Discuz=批处理之家!"
  6.         ren "%%~a" "!newFile!"
  7.         endLocal
  8. )
  9. Pause>nul
复制代码
心绪平和,眼藏静谧。

TOP

回复 7楼 的帖子

把@echo Off 去掉,把结果贴出来看下。。
心绪平和,眼藏静谧。

TOP

回复 9楼 的帖子

还是叹号的问题,试下这样呢?
  1. @echo Off
  2. For /f "delims=" %%a in ('dir /b E:\临时文件夹\2\*.txt') do (
  3.        set "fileName=%%a"
  4.        setlocal EnableDelayedExpansion
  5.        set "newFile=!fileName:论坛发帖规则 - 论坛总版规 - 批处理之家 批处理,bat,dos教程,论坛,代码 - Powered by Discuz=批处理之家!"
  6.        ren "!fileName!" "!newFile:^!=^^!!"
  7.        endLocal
  8. )
  9. Pause
复制代码
心绪平和,眼藏静谧。

TOP

回复 11楼 的帖子

对!进行转义,^是转义符。 跟变量延迟的特性有关,具体请搜索 "变量延迟"。
心绪平和,眼藏静谧。

TOP

返回列表