实例
@echo off
for /f "delims=." %%a in ('dir /b/a-d *.docx') do (move %%a.docx %%a)
pause
保存为ANSI文本文档,修改后缀名为.bat运行。
for为循环语句,dir /b/a-d *.docx,表示查找当前目录下所有.docx的文档,并生成列表。
delims=.,表示每一行查找至.,返回值就是不带后缀的文件名。
%%a表示寄存量,%%a in ('dir /b/a-d *.docx')就是寄存文件名。
move %%a.docx %%a 表示把文件名加上后缀,执行移动文件至同名文件夹
最后pause结束。
如果还没有同名文件夹,则需要新建一个再执行移动。
@echo off
for /f "delims=." %%a in ('dir /b/a-d *.docx') do (md %%a & move %%a.docx %%a)
pause
md %%a 为新建一个文件名的文件夹。
如果目录下存在不同文件类型,如.docx、.xlsx、.pptx等,则
@echo off
for /f "tokens=1,2 delims=." %%a in ('dir /b/a-d *.*') do (md %%a & move %%a.%%b %%a)
pause
晚安