标题: for语句do()中设置的变量无法在do()中扩展
[打印本页]
作者: pinghu
时间: 2008-3-1 12:22
标题: 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文件名最后一个半角字符去掉的话,该怎么写呢?
作者: pinghu
时间: 2008-3-1 13:32
setlocal enabledelayedexpansion
for %%i in (*.pdf) do (
set new=%%~ni
set new=!new:~0,-1!
ren "%%~nxi" "!new!%%~xi)"
自己找到错误了,文件名最后一个字符是空格,引号如此重要!!
可以结了
作者: everest79
时间: 2008-3-1 13:40
for %%i in (*.pdf) do call :renfile "%%i"
goto :eof
:renfile
set new=%~n1
set new=%new:~0,-1%
ren "%~1" "%new%%~x1"