新建 文本文档(3).txt
新建 文本文档(4).txt
几个文本文件,想用批处对其改名,
- for /f "delims=" %%a in ('dir/b e:\1') do (
- set b=%%a
- set c=!b:~3,4!
- ren %%a !c!
- )
- pause
复制代码
但其运行结果却是:
命令语法不正确。
请按任意键继续. . .
为什么 啊~~~~~
是不是因为有空格的原因?
要怎么改进?请大家指点指点!!谢谢!!!
[
本帖最后由 kingerpk 于 2009-2-4 22:13 编辑
]
还有问题~~~~~~~~~~~
文件:论坛发帖规则 - 论坛总版规 - 批处理之家 批处理,bat,dos教程,论坛,代码 - Powered by Discuz!.txt
我用以下代码进行改名:
- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%a in ('dir/b E:\临时文件夹\2\*.txt') do (
- set b=%%a
- set c=!b:批处理之家 批处理,bat,dos教程,论坛,代码 - Powered by Discuz=批处理之家!
- ren "%%a" "!c!"
- )
- pause
复制代码
但是结果和前面一样啊~~~~~
为什么~~~~~
还有若把ren "%%a" "!c!" 中的%%a改为!b!
结果就是“系统找不到指定的文件。”
这又是为什么啊 我都快把机试爆了!!!!
|
当然出错,你的文件名中有叹号,预处理时丢掉了。。
- @echo Off
- For /f "delims=" %%a in ('dir/b E:\临时文件夹\2\*.txt') do (
- set "fileName=%%a"
- setlocal EnableDelayedExpansion
- set "newFile=!fileName:批处理之家 批处理,bat,dos教程,论坛,代码 - Powered by Discuz=批处理之家!"
- ren "%%~a" "!newFile!"
- endLocal
- )
- Pause>nul
复制代码
|
E:\临时文件夹\2>For /F "delims=" %a in ('dir/b E:\临时文件夹\2\*.txt') do (
set "fileName=%a"
setlocal EnableDelayedExpansion
set "newFile=!fileName:批处理之家 批处理,bat,dos教程,论坛,代码 - Powered by Dis
cuz=批处理之家!"
ren "%~a" "!newFile!"
endLocal
E:\临时文件夹\2>(
set "fileName=论坛发帖规则 - 论坛总版规 - 批处理之家 批处理,bat,dos教程,论坛,代
码 - Powered by Discuz!.txt"
setlocal EnableDelayedExpansion
set "newFile=!fileName:批处理之家 批处理,bat,dos教程,论坛,代码 - Powered by Dis
cuz=批处理之家!"
ren "论坛发帖规则 - 论坛总版规 - 批处理之家 批处理,bat,dos教程,论坛,代码 - Powe
red by Discuz!.txt" "!newFile!"
endLocal
命令语法不正确。
E:\临时文件夹\2>Pause1>nul
回复 9楼 的帖子
还是叹号的问题,试下这样呢?
- @echo Off
- For /f "delims=" %%a in ('dir /b E:\临时文件夹\2\*.txt') do (
- set "fileName=%%a"
- setlocal EnableDelayedExpansion
- set "newFile=!fileName:论坛发帖规则 - 论坛总版规 - 批处理之家 批处理,bat,dos教程,论坛,代码 - Powered by Discuz=批处理之家!"
- ren "!fileName!" "!newFile:^!=^^!!"
- endLocal
- )
- Pause
复制代码
|
-
批处理专区: BAT CMD DOS
-
-
其他脚本区
-
-
网络资源区
-
-
论坛事务区
-
[收藏此主题]
[关注此主题的新回复]