bat批处理文件如何输出当前文件夹中所有pdf文件名并加上序号?

for/f"delims=="%%iin('dir/b/o:n*.pdf')doecho%%~ni>>final.txt我用上述语句,可以输出当前文件夹中,所有pdf文件... for /f "delims==" %%i in ('dir /b /o:n *.pdf') do echo %%~ni >> final.txt
我用上述语句,可以输出当前文件夹中,所有pdf文件的文件名,并按文件名顺序排列,不含后缀名。

我想请问一下,如何修改,可以在上面的结果基础上,替换每行pdf文件名的前9个字符(假设pdf文件名长度均大于20),改为1、2、这样的序号?

比如,我获取的pdf文件名为:
20140413-aaa
20140603-bbb
20140723-ccc

修改后,我希望得到:
1、aaa
2、bbb
3、ccc

请大神指教!语句越少越简洁越好!

PS:我之前在网上搜到说截取字符串可以用下面这样的代码,但不知道怎么跟for一起用。。= =!
echo %str:~9,-4% >> final.txt
这个代码可以去掉文件名前9个字符(日期前缀)和后4个字符(扩展名)
展开
 我来答
sudoku52
2014-07-23 · TA获得超过7万个赞
知道大有可为答主
回答量:1.2万
采纳率:82%
帮助的人:5141万
展开全部
@echo off
setlocal enabledelayedexpansion
(for /f "delims==" %%i in ('dir /b /o:n *.pdf') do (
set fn=%%i
echo ren "%%i" "!fn:~9,-4!"))>final.txt
追问
输出的txt结果是这样的,不对啊……

ren "20140413-aaa.pdf" "aaa"
ren "20140603-bbb.pdf" "bbb"
ren "20140723-ccc.pdf" "ccc"
追答
@echo off
setlocal enabledelayedexpansion
(for /f "delims==" %%i in ('dir /b /o:n *.pdf') do (
set fn=%%i
set /a n+=1
echo !n!、 !fn:~9,-4!))>final.txt
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式