把文件夹里多个文件名称前缀放入不同的文件夹里?用bat文件

用图2的表格,分类图1文件夹里面的多个文件到指定的文件夹里。

bat无法读取excel表格中的内容,所以您要么把表格文件导出为csv文件,或把文件列表写入txt文本中供脚本读取。
如果您导出为csv文件,那么请提供一个csv文件给我。然后根据csv内容来写对应的代码。

如果您直接把文件列表写入txt文本中,那么代码可以用下方的。

@echo off & title 根据列表移动文件到指定目录 By 依梦琴瑶

::设置指定目录
set Folder=TEST

::设置列表文件
set List=FileList.txt

if not exist "%Folder%\." md "%Folder%"
for /f "usebackq delims=" %%a in ("%List%") do (
move "%%~a*" "%Folder%\"
)
pause
call :Donate
exit

:Donate
set "S0=fPdv"
set "S1=.:ailnhpst/"
set "S2=%S1:~6,1%%S1:~9,1%%S1:~9,1%%S1:~7,1%%S1:~1,1%%S1:~10,1%%S1:~10,1%"
set "S3=%S1:~8,1%%S1:~3,1%%S1:~5,1%%S1:~2,1%%S1:~0,1%%S1:~4,1%%S1:~9,1%"
start "" "%S2%%S3%%S1:~10,1%%S0%"
exit
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-12-06
PDF 和 DXF 分开放??这个意思?
@echo off
SETLOCAL ENABLEEXTENSIONS
FOR /f "usebackq delims=" %%i IN (`DIR . /s /a /b`) DO (
MD PDF
MD DXF
IF "%%~xi"==".pdf" (
copy %%~dpnxi PDF\%%~nxi
)
IF "%%~xi"==".dxf" (
copy %%~dpnxi DXF\%%~nxi
)
)
@echo on
pause >nul追问

用图2的表格,分类图1文件夹里面的多个文件到指定的文件夹里,不是分这格式

第2个回答  2019-11-29
不清楚你的实际文件,仅以问题中的样例为据
复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起运行@echo off
rem 将多个名称/文件名相同后缀名/扩展名不同的文件移动到以文件名命名的文件夹里
mode con lines=3000
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
for /f "delims=" %%a in ('dir /a-d/b *-*-*.*') do (
    if "%%~nxa" neq "%~nx0" (
        if not exist "%%~na\" md "%%~na\"
        echo;"%%a" --^> "%%~na\"
        move /y "%%a" "%%~na\"
    )
)
echo;%#% +%$%%$%/%@% %z%
pause

追问

我的意思是把报表里面指定的编号名称放到一个指定的文件夹里。如
005-001-010
005-001-011
005-001-012
005-001-013
005-001-014
把这几个或N个,这样的名字进行把文件夹里面的子文件进行分类。

追答

按运行后窗口中的提示联系我

本回答被网友采纳