![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-07 15:37 |
共 48,041 主题排行 / 350,128 发帖 / 今日 3 篇 / 48,252 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » for语句do()中设置的变量无法在do()中扩展 |
| 可打印版本 709 / 2 |
| 第1楼 pinghu | 发表于 2008-03-01 12:22 |
| 中级用户 发帖 130 积分 307 | |
|
for语句do()中设置的变量无法在do()中扩展 setlocal enabledelayedexpansion
for %%i in (*.pdf) do ( set new=%%~ni set new=%new:~0,-1% ren %%~nxi %new%%%~xi) 改成这样也不行 setlocal enabledelayedexpansion for %%i in (*.pdf) do ( set new=%%~ni set new=!new:~0,-1! ren %%~nxi !new!%%~xi) 如果用上述语句无法实现将所有pdf文件名最后一个半角字符去掉的话,该怎么写呢? |
|
| 第2楼 pinghu | 发表于 2008-03-01 13:32 |
| 中级用户 发帖 130 积分 307 | |
|
setlocal enabledelayedexpansion
for %%i in (*.pdf) do ( set new=%%~ni set new=!new:~0,-1! ren "%%~nxi" "!new!%%~xi)" 自己找到错误了,文件名最后一个字符是空格,引号如此重要!! 可以结了 |
|
| 第3楼 everest79 | 发表于 2008-03-01 13:40 |
| 金牌会员 发帖 1,127 积分 2,564 | |
|
for %%i in (*.pdf) do call :renfile "%%i"
goto :eof :renfile set new=%~n1 set new=%new:~0,-1% ren "%~1" "%new%%~x1" |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |