日期:2014-05-17  浏览次数:21646 次

批处理中如何截取FOR循环变量的字符串
我预期的是输出文件的后缀
@echo off
for /r F:\Test %%j in (*) do echo %j:~-3%
pause

但是最终输出的是一排~-3
不知道该如何修改?
------解决方案--------------------
获取文件名的最后三个字符
@echo off
setlocal enabledelayedexpansion
for /r F:\Test %%j in (*) do (
    set "file=%%j"
    echo,!file:~-3!
)
pause


但是文件名后缀不一定是3位的
可以试试这样:
@echo off
for /r F:\Test %%j in (*) do (
    echo,%%~xj
)
pause