@echo off
setlocal enabledelayedexpansion
::截取前几位
set num=4
for /f "delims=" %%a in ('dir /a-d/b *.*') do (
if not "%%~nxa"=="%~nx0" (
set tmp=%%~na
set tmp=!tmp:~,%num%!
if not exist "!tmp!\" (
md "!tmp!"
move %%~fsa "!tmp!"
) else (
move %%~fsa "!tmp!"
)
)
)
echo end...
pause
Bat之批处理:以当前文件的名字前几位新建文件夹然后把文件一 一对应复制进去
这篇文章详细描述了一个Windows批处理命令,利用`echooffsetlocalenabledelayedexpansion`处理文件名,设置变量`setnum`,通过`for`循环遍历目录,只移动非当前脚本的文件,并创建目标目录如果不存在。
摘要由CSDN通过智能技术生成