
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个字符(扩展名) 展开
我用上述语句,可以输出当前文件夹中,所有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个字符(扩展名) 展开
1个回答
展开全部
@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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |